[Koha-cvs] CVS: koha/opac opac-serial-issues.pl,1.4,1.5 opac-user.pl,1.17,1.18

Paul POULAIN tipaul at users.sourceforge.net
Thu Aug 4 10:54:58 CEST 2005


Update of /cvsroot/koha/koha/opac
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3043/opac

Modified Files:
	opac-serial-issues.pl opac-user.pl 
Log Message:
Letters / alert system, continuing...
* adding a package Letters.pm, that manages Letters & alerts.
* adding feature : it's now possible to define a "letter" for any subscription created. If a letter is defined, users in OPAC can put an alert on the subscription. When an issue is marked "arrived", all users in the alert will recieve a mail (as defined in the "letter"). This last part (= send the mail) is not yet developped. (Should be done this week)
* adding feature : it's now possible to "put to an alert" in OPAC, for any serial subscription. The alert is stored in a new table, called alert. An alert can be put only if the librarian has activated them in subscription (and they activate it just by choosing a "letter" to sent to borrowers on new issues)
* adding feature : librarian can see in borrower detail which alerts they have put, and a user can see in opac-detail which alert they have put too.
Note that the system should be generic enough to manage any type of alert.
I plan to extend it soon to virtual shelves : a borrower will be able to put an alert on a virtual shelf, to be warned when something is changed in the virtual shelf (mail being sent once a day by cron, or manually by the shelf owner. Anyway, a mail won't be sent on every change, users would be spammed by Koha ;-) )

Index: opac-serial-issues.pl
===================================================================
RCS file: /cvsroot/koha/koha/opac/opac-serial-issues.pl,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** opac-serial-issues.pl	20 Jun 2005 14:33:32 -0000	1.4
--- opac-serial-issues.pl	4 Aug 2005 08:54:56 -0000	1.5
***************
*** 7,10 ****
--- 7,11 ----
  use C4::Date;
  use C4::Bull;
+ use C4::Letters;
  use C4::Output;
  use C4::Interface::CGI::Output;
***************
*** 25,34 ****
  	my $subscriptions = get_full_subscription_list_from_biblionumber($biblionumber);
  	
  	my $title = $subscriptions->[0]{bibliotitle};
- # 	warn "title ".$title;
  	my $yearmin=$subscriptions->[0]{year};
- # 	warn "yearmin ".$yearmin;
  	my $yearmax=$subscriptions->[scalar(@$subscriptions)-1]{year};
- # 	warn "yearmax ".$yearmax;
  	
  	
--- 26,38 ----
  	my $subscriptions = get_full_subscription_list_from_biblionumber($biblionumber);
  	
+ 	# now, check is there is an alert subscription for one of the subscriptions
+ 	foreach (@$subscriptions) {
+ 		if (getalert($loggedinuser,'issue',$_->{subscriptionid})) {
+ 			warn "SUBSCRIPTION FOR : $loggedinuser,'issue',$_->{subscriptionid}";
+ 		}
+ 	}
  	my $title = $subscriptions->[0]{bibliotitle};
  	my $yearmin=$subscriptions->[0]{year};
  	my $yearmax=$subscriptions->[scalar(@$subscriptions)-1]{year};
  	
  	
***************
*** 57,60 ****
--- 61,71 ----
  	my $subscriptions = get_subscription_list_from_biblionumber($biblionumber);
  	
+ 	# now, check is there is an alert subscription for one of the subscriptions
+ 	foreach (@$subscriptions) {
+ 		if (getalert($loggedinuser,'issue',$_->{subscriptionid})) {
+ 			$_->{hasalert} = 1;
+ 		}
+ 	}
+ 	
  	($template, $loggedinuser, $cookie)
  	= get_template_and_user({template_name => "opac-serial-issues.tmpl",

Index: opac-user.pl
===================================================================
RCS file: /cvsroot/koha/koha/opac/opac-user.pl,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -r1.17 -r1.18
*** opac-user.pl	20 Jun 2005 14:33:32 -0000	1.17
--- opac-user.pl	4 Aug 2005 08:54:56 -0000	1.18
***************
*** 12,15 ****
--- 12,16 ----
  use HTML::Template;
  use C4::Date;
+ use C4::Letters;
  
  my $query = new CGI;
***************
*** 134,139 ****
      }
  }
- 
  $template->param(WAITING => \@waiting);
  $template->param(waiting_count => $wcount,
  				LibraryName => C4::Context->preference("LibraryName"),
--- 135,148 ----
      }
  }
  $template->param(WAITING => \@waiting);
+ 
+ # current alert subscriptions
+ warn " B : $borrowernumber";
+ my $alerts = getalert($borrowernumber);
+ foreach (@$alerts) {
+ 	$_->{$_->{type}}=1;
+ 	$_->{relatedto} = findrelatedto($_->{type},$_->{externalid});
+ }
+ 
  $template->param(waiting_count => $wcount,
  				LibraryName => C4::Context->preference("LibraryName"),
***************
*** 141,144 ****
--- 150,154 ----
  				virtualshelves => C4::Context->preference("virtualshelves"),
  				textmessaging => $borr->{textmessaging},
+ 				alertloop => $alerts,
  );
  





More information about the Koha-cvs mailing list