@@ -, +, @@ Notices misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl --- C4/Letters.pm | 12 ++++++- .../thirdparty/TalkingTech_itiva_outbound.pl | 37 +++++++++++++++------- 2 files changed, 36 insertions(+), 13 deletions(-) --- a/C4/Letters.pm +++ a/C4/Letters.pm @@ -664,6 +664,7 @@ sub GetPreparedLetter { surname => $userenv->{surname}, emailaddress => $userenv->{emailaddress}, }, + $substitute ? %$substitute : (), } } ); @@ -979,7 +980,16 @@ ENDSQL $params->{'from_address'}, # from_address $params->{'letter'}->{'content-type'}, # content_type ); - return $dbh->last_insert_id(undef,undef,'message_queue', undef); + + my $id = $dbh->last_insert_id(undef,undef,'message_queue', undef); + + $content = $params->{letter}->{content}; + if ( $content =~ /__MESSAGE_ID__/ ) { + $content =~ s/__MESSAGE_ID__/$id/g; + $dbh->do( "UPDATE message_queue SET content = ? WHERE message_id = ?", undef, ($content, $id) ); + } + + return $id; } =head2 SendQueuedMessages ([$hashref]) --- a/misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl +++ a/misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl @@ -131,9 +131,20 @@ foreach my $type (@types) { module => $module, letter_code => $code, tables => { - borrowers => $issues->{'borrowernumber'}, - biblio => $issues->{'biblionumber'}, - biblioitems => $issues->{'biblionumber'}, + borrowers => $issues->{borrowernumber}, + biblio => $issues->{biblionumber}, + biblioitems => $issues->{biblionumber}, + items => $issues->{itemnumber}, + issues => $issues->{itemnumber}, + branches => $issues->{site}, + }, + substitute => { + format => $format, + language => $language, + type => $type, + level => $issues->{level}, + library_code => $library_code, + due_date => $due_date, }, message_transport_type => 'phone', ); @@ -151,12 +162,14 @@ foreach my $type (@types) { ); } - print $OUT -"\"$format\",\"$language\",\"$type\",\"$issues->{level}\",\"$issues->{cardnumber}\",\"$issues->{patron_title}\",\"$issues->{firstname}\","; - print $OUT -"\"$issues->{surname}\",\"$issues->{phone}\",\"$issues->{email}\",\"$library_code\","; - print $OUT -"\"$issues->{site}\",\"$issues->{site_name}\",\"$issues->{barcode}\",\"$due_date\",\"$issues->{title}\",\"$message_id\"\n"; + if ( $letter->{is_tt} ) { + $letter->{content} =~ s/__MESSAGE_ID__/$message_id/g; + print $OUT $letter->{content}; + } else { + print $OUT "\"$format\",\"$language\",\"$type\",\"$issues->{level}\",\"$issues->{cardnumber}\",\"$issues->{patron_title}\",\"$issues->{firstname}\","; + print $OUT "\"$issues->{surname}\",\"$issues->{phone}\",\"$issues->{email}\",\"$library_code\","; + print $OUT "\"$issues->{site}\",\"$issues->{site_name}\",\"$issues->{barcode}\",\"$due_date\",\"$issues->{title}\",\"$message_id\"\n"; + } } } @@ -222,7 +235,7 @@ sub GetOverdueIssues { "SELECT borrowers.borrowernumber, borrowers.cardnumber, borrowers.title as patron_title, borrowers.firstname, borrowers.surname, borrowers.phone, borrowers.email, borrowers.branchcode, biblio.biblionumber, biblio.title, items.barcode, issues.date_due, max(overduerules.branchcode) as rulebranch, TO_DAYS(NOW())-TO_DAYS(date_due) as daysoverdue, delay1, delay2, delay3, - issues.branchcode as site, branches.branchname as site_name + issues.branchcode as site, branches.branchname as site_name, items.itemnumber FROM borrowers JOIN issues USING (borrowernumber) JOIN items USING (itemnumber) JOIN biblio USING (biblionumber) @@ -260,7 +273,7 @@ sub GetPredueIssues { my $query = "SELECT borrowers.borrowernumber, borrowers.cardnumber, borrowers.title as patron_title, borrowers.firstname, borrowers.surname, borrowers.phone, borrowers.email, borrowers.branchcode, biblio.biblionumber, biblio.title, items.barcode, issues.date_due, - issues.branchcode as site, branches.branchname as site_name + issues.branchcode as site, branches.branchname as site_name, items.itemnumber FROM borrowers JOIN issues USING (borrowernumber) JOIN items USING (itemnumber) JOIN biblio USING (biblionumber) @@ -286,7 +299,7 @@ sub GetWaitingHolds { my $query = "SELECT borrowers.borrowernumber, borrowers.cardnumber, borrowers.title as patron_title, borrowers.firstname, borrowers.surname, borrowers.phone, borrowers.email, borrowers.branchcode, biblio.biblionumber, biblio.title, items.barcode, reserves.waitingdate, - reserves.branchcode AS site, branches.branchname AS site_name, + reserves.branchcode AS site, branches.branchname AS site_name, items.itemnumber, TO_DAYS(NOW())-TO_DAYS(reserves.waitingdate) AS days_since_waiting FROM borrowers JOIN reserves USING (borrowernumber) JOIN items USING (itemnumber) --