This adds the new, virtual placeholders <<today>> and
<<reserves.expirationdate> that can be used in letter templates.
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);
}
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
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}} ) {