Bugzilla – Attachment 48618 Details for
Bug 15969
Allow use of Template Toolkit syntax for Phone Notices
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 15969 - Allow use of Template Toolkit syntax for Phone Notices
Bug-15969---Allow-use-of-Template-Toolkit-syntax-f.patch (text/plain), 6.97 KB, created by
Kyle M Hall (khall)
on 2016-03-03 12:19:59 UTC
(
hide
)
Description:
Bug 15969 - Allow use of Template Toolkit syntax for Phone Notices
Filename:
MIME Type:
Creator:
Kyle M Hall (khall)
Created:
2016-03-03 12:19:59 UTC
Size:
6.97 KB
patch
obsolete
>From 9930d1136d80f9d2e6ab5693cdad785b1df3a31c Mon Sep 17 00:00:00 2001 >From: Kyle M Hall <kyle@bywatersolutions.com> >Date: Tue, 1 Mar 2016 16:34:02 +0000 >Subject: [PATCH] Bug 15969 - Allow use of Template Toolkit syntax for Phone > Notices > >By allowing the use of Template Toolkit for generating the outgoing >Talking Tech CSV files, we can give libaries more control over the data >they send to Itiva. This enhancement would also make it possible to use >the script for other services since the output is no longer fixed to a >single format. > >Test Plan: >1) Apply this patch >2) Set up a waiting hold, and overdue checkout, and a non-overdue checkout >3) Generate the CSV file via the script > misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl >4) Enable Template Toolkit for the notices and update the notice text to be: >[% FILTER remove("\r\n") %] >"[% format %]", >"[% language %]", >"[% type %]", >"[% level %]", >"[% borrower.cardnumber %]", >"[% borrower.title %]", >"[% borrower.firstname %]", >"[% borrower.surname %]", >"[% borrower.phone %]", >"[% borrower.email %]", >"[% library_code %]", >"[% branch.id %]", >"[% branch.branchname %]", >"[% item.barcode %]", >"[% due_date %]", >"[% biblio.title %]", >"__MESSAGE_ID__" >[% END %] >5) Regenerate the notices >6) Compare the originals, note the format is the same >--- > C4/Letters.pm | 12 ++++++- > .../thirdparty/TalkingTech_itiva_outbound.pl | 37 +++++++++++++++------- > 2 files changed, 36 insertions(+), 13 deletions(-) > >diff --git a/C4/Letters.pm b/C4/Letters.pm >index c8dd765..eeec6c8 100644 >--- a/C4/Letters.pm >+++ b/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]) >diff --git a/misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl b/misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl >index 18e9f86..63f0b91 100755 >--- a/misc/cronjobs/thirdparty/TalkingTech_itiva_outbound.pl >+++ b/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) >-- >2.1.4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 15969
:
48618
|
48811
|
55819
|
55820
|
57931
|
57933
|
57934
|
57935
|
59923
|
59924
|
59925
|
59926
|
59937
|
59940
|
59941
|
59942
|
59943
|
59944
|
59945
|
59962
|
59963
|
59964
|
59965
|
71141
|
71142
|
71143
|
71144
|
103181
|
103182
|
103183
|
103184
|
114413
|
114414
|
114415
|
114416
|
118207
|
118208
|
118209
|
118210