Add expiration date, today to hold notices
authorJesse Weaver <pianohacker@gmail.com>
Thu, 11 Jun 2009 17:40:01 +0000 (11:40 -0600)
committerJ. David Bavousett <dbavousett@ptfs.com>
Mon, 22 Feb 2010 15:51:44 +0000 (10:51 -0500)
This adds the new, virtual placeholders <<today>> and
<<reserves.expirationdate> that can be used in letter templates.

C4/Letters.pm
C4/Reserves.pm

index fb8de54..3c6ff15 100644 (file)
@@ -29,6 +29,9 @@ use C4::Members;
 use C4::Log;
 use C4::SMS;
 use C4::Debug;
+use Date::Calc qw( Add_Delta_Days );
+use Encode;
+use Carp;
 
 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
 
@@ -519,6 +522,19 @@ sub parseletter {
     }
 
     my $values = $sth->fetchrow_hashref;
+    
+    # TEMPORARY hack until the expirationdate column is added to reserves
+    if ( $table eq 'reserves' && $values->{'waitingdate'} ) {
+        my @waitingdate = split /-/, $values->{'waitingdate'};
+
+        $values->{'expirationdate'} = C4::Dates->new(
+            sprintf(
+                '%04d-%02d-%02d',
+                Add_Delta_Days( @waitingdate, C4::Context->preference( 'ReservesMaxPickUpDelay' ) )
+            ),
+            'iso'
+        )->output();
+    }
 
 
     # and get all fields from the table
index b10d6b4..f25764c 100644 (file)
@@ -1714,6 +1714,9 @@ sub _koha_notify_reserve {
     if ( $reserve->{'itemnumber'} ) {
         C4::Letters::parseletter( $letter, 'items', $reserve->{'itemnumber'} );
     }
+    my $today = C4::Dates->new()->output();
+    $letter->{'title'} =~ s/<<today>>/$today/g;
+    $letter->{'content'} =~ s/<<today>>/$today/g;
     $letter->{'content'} =~ s/<<[a-z0-9_]+\.[a-z0-9]+>>//g; #remove any stragglers
 
     if ( -1 !=  firstidx { $_ eq 'email' } @{$messagingprefs->{transports}} ) {