Bugzilla – Attachment 95030 Details for
Bug 18532
Messaging preferences for auto renewals
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 18532: Add new letter AUTO_RENEWALS_DGST, new Auto_Renewals in message_attributes, and configured message_transports
Bug-18532-Add-new-letter-AUTORENEWALSDGST-new-Auto.patch (text/plain), 7.50 KB, created by
Agustín Moyano
on 2019-11-04 18:59:30 UTC
(
hide
)
Description:
Bug 18532: Add new letter AUTO_RENEWALS_DGST, new Auto_Renewals in message_attributes, and configured message_transports
Filename:
MIME Type:
Creator:
Agustín Moyano
Created:
2019-11-04 18:59:30 UTC
Size:
7.50 KB
patch
obsolete
>From 72ce78cad933afe637fa635f72f9084fa639c0b0 Mon Sep 17 00:00:00 2001 >From: Agustin Moyano <agustinmoyano@theke.io> >Date: Tue, 29 Oct 2019 15:27:37 -0300 >Subject: [PATCH] Bug 18532: Add new letter AUTO_RENEWALS_DGST, new > Auto_Renewals in message_attributes, and configured message_transports > >--- > .../data/mysql/atomicupdate/bug-18532.perl | 100 ++++++++++++++++++ > .../mysql/en/mandatory/sample_notices.sql | 10 ++ > .../sample_notices_message_attributes.sql | 3 +- > .../sample_notices_message_transports.sql | 6 +- > 4 files changed, 117 insertions(+), 2 deletions(-) > create mode 100644 installer/data/mysql/atomicupdate/bug-18532.perl > >diff --git a/installer/data/mysql/atomicupdate/bug-18532.perl b/installer/data/mysql/atomicupdate/bug-18532.perl >new file mode 100644 >index 0000000000..9e16942142 >--- /dev/null >+++ b/installer/data/mysql/atomicupdate/bug-18532.perl >@@ -0,0 +1,100 @@ >+$DBversion = 'XXX'; # will be replaced by the RM >+if( CheckVersion( $DBversion ) ) { >+ # you can use $dbh here like: >+ $dbh->do( qq{ >+ INSERT IGNORE INTO letter (module, code, name, title, content, message_transport_type) VALUES ('circulation', 'AUTO_RENEWALS_DGST', 'notification on auto renewing', 'Auto renewals (Digest)', >+ "Dear [% borrower.firstname %] [% borrower.surname %], >+ [% IF checkout.auto_renew_errors %] >+ There were [% checkout.auto_renew_errors %] items that where not correctly renewed. >+ [% END %] >+ [% IF checkout.auto_renew %] >+ There were [% checkout.auto_renew %] items that where correctly renewed. >+ [% END %] >+ ", 'email'); >+ }); >+ >+ $dbh->do( qq{ >+ INSERT IGNORE INTO `message_attributes` >+ (`message_attribute_id`, message_name, `takes_days`) >+ VALUES (7, 'Auto_Renewals', 0) >+ }); >+ >+ $dbh->do( qq{ >+ INSERT IGNORE INTO `message_transports` >+ (`message_attribute_id`, `message_transport_type`, `is_digest`, `letter_module`, `letter_code`) >+ VALUES (7, 'email', 0, 'circulation', 'AUTO_RENEWALS'), >+ (7, 'sms', 0, 'circulation', 'AUTO_RENEWALS'), >+ (7, 'email', 1, 'circulation', 'AUTO_RENEWALS_DGST'), >+ (7, 'sms', 1, 'circulation', 'AUTO_RENEWALS_DGST') >+ }); >+ >+ $dbh->do( qq{ >+ insert ignore into borrower_message_preferences (categorycode, message_attribute_id, days_in_advance, wants_digest) >+ select c.categorycode, mp.message_attribute_id, mp.days_in_advance, mp.wants_digest >+ from >+ ( >+ select 1 as message_attribute_id, NULL as days_in_advance, 0 as wants_digest >+ union >+ select 2 as message_attribute_id, 0 as days_in_advance, 0 as wants_digest >+ union >+ select 3 as message_attribute_id, NULL as days_in_advance, 0 as wants_digest >+ union >+ select 4 as message_attribute_id, NULL as days_in_advance, 0 as wants_digest >+ union >+ select 5 as message_attribute_id, NULL as days_in_advance, 0 as wants_digest >+ union >+ select 6 as message_attribute_id, NULL as days_in_advance, 0 as wants_digest >+ union >+ select 7 as message_attribute_id, NULL as days_in_advance, 0 as wants_digest >+ ) mp >+ inner join >+ ( >+ select c.categorycode, >+ count(m.categorycode) as count >+ from categories c >+ left join >+ borrower_message_preferences m >+ on c.categorycode = m.categorycode >+ group by 1 >+ ) c >+ on c.count = 0 or (c.count > 0 and mp.message_attribute_id = 7); >+ }); >+ >+ $dbh->do( qq{ >+ insert ignore into borrower_message_preferences (borrowernumber, message_attribute_id, days_in_advance, wants_digest) >+ select c.borrowernumber, mp.message_attribute_id, mp.days_in_advance, mp.wants_digest >+ from >+ ( >+ select 7 as message_attribute_id, NULL as days_in_advance, 0 as wants_digest >+ ) mp >+ inner join >+ ( >+ select distinct >+ m1.borrowernumber >+ from borrower_message_preferences m1 >+ left join >+ borrower_message_preferences m2 >+ on m1.borrowernumber = m2.borrowernumber >+ and m2.message_attribute_id = 7 >+ where m2.borrowernumber is null >+ and m1.borrowernumber is not null >+ ) c >+ on true; >+ }); >+ >+ $dbh->do( qq{ >+ insert into borrower_message_transport_preferences (borrower_message_preference_id, message_transport_type) >+ select p.borrower_message_preference_id, 'email' >+ from borrower_message_preferences p >+ left join >+ borrower_message_transport_preferences t >+ on p.borrower_message_preference_id = t.borrower_message_preference_id >+ where p.message_attribute_id = 7 >+ and t.borrower_message_preference_id is null; >+ }); >+ >+ >+ # Always end with this (adjust the bug info) >+ SetVersion( $DBversion ); >+ print "Upgrade to $DBversion done (Bug 18532 - Add AUTO_RENEWALS in message_attributes and add AUTO_RENEWALS_DGST letter)\n"; >+} >diff --git a/installer/data/mysql/en/mandatory/sample_notices.sql b/installer/data/mysql/en/mandatory/sample_notices.sql >index 506f309785..05eea96f00 100644 >--- a/installer/data/mysql/en/mandatory/sample_notices.sql >+++ b/installer/data/mysql/en/mandatory/sample_notices.sql >@@ -337,3 +337,13 @@ You have too much unpaid fines. > [% ELSE %] > The following item [% biblio.title %] has correctly been renewed and is now due [% checkout.date_due %] > [% END %]", 'email'); >+ >+INSERT INTO letter (module, code, name, title, content, message_transport_type) VALUES ('circulation', 'AUTO_RENEWALS_DGST', 'notification on auto renewing', 'Auto renewals (Digest)', >+"Dear [% borrower.firstname %] [% borrower.surname %], >+[% IF <<error>> %] >+There were <<error>> items that where not correctly renewed. >+[% END %] >+[% IF <<success>> %] >+There were <<success>> items that where correctly renewed. >+[% END %] >+", 'email'); >diff --git a/installer/data/mysql/mandatory/sample_notices_message_attributes.sql b/installer/data/mysql/mandatory/sample_notices_message_attributes.sql >index a7a6032cc7..32ab818d03 100644 >--- a/installer/data/mysql/mandatory/sample_notices_message_attributes.sql >+++ b/installer/data/mysql/mandatory/sample_notices_message_attributes.sql >@@ -5,5 +5,6 @@ values > (2, 'Advance_Notice', 1), > (4, 'Hold_Filled', 0), > (5, 'Item_Check_in', 0), >-(6, 'Item_Checkout', 0); >+(6, 'Item_Checkout', 0), >+(7, 'Auto_Renewals', 0); > >diff --git a/installer/data/mysql/mandatory/sample_notices_message_transports.sql b/installer/data/mysql/mandatory/sample_notices_message_transports.sql >index 5954bafc7b..eecdbdf16a 100644 >--- a/installer/data/mysql/mandatory/sample_notices_message_transports.sql >+++ b/installer/data/mysql/mandatory/sample_notices_message_transports.sql >@@ -17,4 +17,8 @@ values > (5, 'email', 0, 'circulation', 'CHECKIN'), > (5, 'sms', 0, 'circulation', 'CHECKIN'), > (6, 'email', 0, 'circulation', 'CHECKOUT'), >-(6, 'sms', 0, 'circulation', 'CHECKOUT'); >+(6, 'sms', 0, 'circulation', 'CHECKOUT'), >+(7, 'email', 0, 'circulation', 'AUTO_RENEWALS'), >+(7, 'sms', 0, 'circulation', 'AUTO_RENEWALS'), >+(7, 'email', 1, 'circulation', 'AUTO_RENEWALS_DGST'), >+(7, 'sms', 1, 'circulation', 'AUTO_RENEWALS_DGST'); >-- >2.17.1
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 18532
:
95030
|
95031
|
95337
|
95338
|
95456
|
96049
|
96050
|
96487
|
96494
|
96495
|
98078
|
98079
|
99193
|
99194
|
104880
|
104881
|
104882
|
104883
|
105500
|
105501
|
105502
|
105503
|
114316
|
115798
|
115799
|
115800
|
115801
|
115802
|
115829
|
115830
|
115831
|
115832
|
115833
|
118198
|
118199
|
118205
|
118318
|
118329
|
118330
|
118331
|
118356