From 1529c13ac2f7613100dfddfdf7a54bc08c9bcaaf Mon Sep 17 00:00:00 2001 From: Aleisha Amohia Date: Tue, 12 May 2020 22:07:56 +0000 Subject: [PATCH] Bug 23781: SMS notices and messaging preferences for recalls This patch adds recalls notices (pick up a waiting recall or return a requested recall) to the messaging preferences. To test: 1) Apply Bug 19532 2) Apply this bug 3) Update database, rebuild dbix files 4) Ensure UseRecalls syspref is enabled and values have been set in the circulation rules for recalls 5) Go to a borrower (Person A) account page in the Intranet or the OPAC 6) Go to messaging preferences 7) Notice there are now preferences for two recalls notices 8) Select email as a preference 9) Find a different borrower (Person B) and set their messaging preferences to SMS 10) Check out any item to Person B 11) Go to the OPAC logged in as Person A and find that item 12) Recall the item 13) In the terminal, look at the message_queue in the database. There should be a 'RETURN_RECALLED_ITEM' recall notice sent to Person B via SMS 14) Go back to the Intranet and check in the item. Confirm the recall when checking in 15) Look at the message_queue in the database again. There should be a 'PICKUP_RECALLED_ITEM' recall notice sent to Person A via email. 16) Confirm tests pass t/db_dependent/Koha/Recall.t t/db_dependent/Koha/Recalls.t Sponsored-by: Toi Ohomai Institute of Technology --- Koha/Recall.pm | 9 +++++- Koha/Recalls.pm | 11 ++++++- .../bug_23781-recalls_message_attributes.perl | 6 ++++ .../bug_23781-recalls_message_transports.perl | 6 ++++ .../bug_23781-recalls_sms_notices.perl | 22 ++++++++++++++ .../data/mysql/de-DE/mandatory/sample_notices.sql | 16 +++++++++- .../data/mysql/en/mandatory/sample_notices.yml | 34 ++++++++++++++++++++++ .../mysql/fr-CA/obligatoire/sample_notices.sql | 16 +++++++++- .../mysql/fr-FR/1-Obligatoire/sample_notices.sql | 16 +++++++++- installer/data/mysql/it-IT/necessari/notices.sql | 16 +++++++++- .../sample_notices_message_attributes.sql | 5 ++-- .../sample_notices_message_transports.sql | 6 +++- .../mysql/nb-NO/1-Obligatorisk/sample_notices.sql | 16 +++++++++- .../data/mysql/pl-PL/mandatory/sample_notices.sql | 16 +++++++++- .../data/mysql/ru-RU/mandatory/sample_notices.sql | 16 +++++++++- .../data/mysql/uk-UA/mandatory/sample_notices.sql | 18 +++++++++++- .../prog/en/includes/messaging-preference-form.inc | 2 ++ .../bootstrap/en/modules/opac-messaging.tt | 2 ++ t/db_dependent/Koha/Recall.t | 6 ++++ t/db_dependent/Koha/Recalls.t | 8 ++++- 20 files changed, 233 insertions(+), 14 deletions(-) create mode 100644 installer/data/mysql/atomicupdate/bug_23781-recalls_message_attributes.perl create mode 100644 installer/data/mysql/atomicupdate/bug_23781-recalls_message_transports.perl create mode 100644 installer/data/mysql/atomicupdate/bug_23781-recalls_sms_notices.perl diff --git a/Koha/Recall.pm b/Koha/Recall.pm index d2a5f500af6..48897c035f1 100644 --- a/Koha/Recall.pm +++ b/Koha/Recall.pm @@ -363,7 +363,14 @@ sub set_waiting { }, ); - C4::Message->enqueue($letter, $self->patron->unblessed, 'email'); + my $messaging_preferences = C4::Members::Messaging::GetMessagingPreferences({ borrowernumber => $self->borrowernumber, message_name => 'Recall_Waiting' }); + while ( my ( $transport, $letter_code ) = each %{ $messaging_preferences->{transports} } ) { if ( $transport eq 'email' ){ + C4::Message->enqueue($letter, $self->patron->unblessed, 'email'); + } + if ( $transport eq 'sms' ){ + C4::Message->enqueue($letter, $self->patron->unblessed, 'sms'); + } + } return $self; } diff --git a/Koha/Recalls.pm b/Koha/Recalls.pm index 48dcb7345d2..8043c2a60f2 100644 --- a/Koha/Recalls.pm +++ b/Koha/Recalls.pm @@ -117,7 +117,16 @@ sub add_recall { }, ); - C4::Message->enqueue( $letter, $checkout->patron->unblessed, 'email' ); + my $messaging_preferences = C4::Members::Messaging::GetMessagingPreferences({ borrowernumber => $checkout->borrowernumber, message_name => 'Recall_Requested' }); + + while ( my ( $transport, $letter_code ) = each %{ $messaging_preferences->{transports} } ) { + if ( $transport eq 'email' ){ + C4::Message->enqueue($letter, $checkout->patron->unblessed, 'email'); + } + if ( $transport eq 'sms' ){ + C4::Message->enqueue($letter, $checkout->patron->unblessed, 'sms'); + } + } $item = Koha::Items->find( $itemnumber ); # add to statistics table diff --git a/installer/data/mysql/atomicupdate/bug_23781-recalls_message_attributes.perl b/installer/data/mysql/atomicupdate/bug_23781-recalls_message_attributes.perl new file mode 100644 index 00000000000..26f2a07db97 --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_23781-recalls_message_attributes.perl @@ -0,0 +1,6 @@ +$DBversion = 'XXX'; +if( CheckVersion( $DBversion ) ) { + $dbh->do(q{INSERT IGNORE INTO message_attributes (message_attribute_id, message_name, takes_days) VALUES (7, 'Recall_Waiting', 0), (8, 'Recall_Requested', 0) }); + + NewVersion( $DBversion, 23781, "Adding message attributes for recalls: Recall_Waiting, Recall_Requested" ); +} diff --git a/installer/data/mysql/atomicupdate/bug_23781-recalls_message_transports.perl b/installer/data/mysql/atomicupdate/bug_23781-recalls_message_transports.perl new file mode 100644 index 00000000000..4ad4f6f6c00 --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_23781-recalls_message_transports.perl @@ -0,0 +1,6 @@ +$DBversion = 'XXX'; +if( CheckVersion( $DBversion ) ) { + $dbh->do(q{INSERT IGNORE INTO message_transports (message_attribute_id, message_transport_type, is_digest, letter_module, letter_code, branchcode) VALUES (7, "email", 0, "circulation", "PICKUP_RECALLED_ITEM", null), (7, "sms", 0, "circulation", "PICKUP_RECALLED_ITEM", null), (8, "email", 0, "circulation", "RETURN_RECALLED_ITEM", null), (8, "sms", 0, "circulation", "RETURN_RECALLED_ITEM", null) }); + + NewVersion( $DBversion, 23781, "Adding message transports for recalls notices" ); +} diff --git a/installer/data/mysql/atomicupdate/bug_23781-recalls_sms_notices.perl b/installer/data/mysql/atomicupdate/bug_23781-recalls_sms_notices.perl new file mode 100644 index 00000000000..bcd0433fed9 --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_23781-recalls_sms_notices.perl @@ -0,0 +1,22 @@ +$DBversion = 'XXX'; +if( CheckVersion( $DBversion ) ) { + $dbh->do(q{ + INSERT IGNORE INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title`, `content`, `message_transport_type`) VALUES + ('circulation','RETURN_RECALLED_ITEM','','Notification to return a recalled item','0','Notification to return a recalled item','Date: <> + +<> <>, + +A recall has been placed on the following item: <> / <> (<>). The due date has been updated, and is now <>. Please return the item before the due date. + +Thank you!','sms'), + ('circulation','PICKUP_RECALLED_ITEM','','Recalled item awaiting pickup','0','Recalled item awaiting pickup','Date: <> + +<> <>, + +A recall that you requested on the following item: <> / <> (<>) is now ready for you to pick up at <>. Please pick up your item by <>. + +Thank you!','sms') + }); + + NewVersion( $DBversion, 19532, "Add recalls SMS notices: RETURN_RECALLED_ITEM, PICKUP_RECALLED_ITEM" ); +} diff --git a/installer/data/mysql/de-DE/mandatory/sample_notices.sql b/installer/data/mysql/de-DE/mandatory/sample_notices.sql index 37385fa1b46..a6e29fe5291 100644 --- a/installer/data/mysql/de-DE/mandatory/sample_notices.sql +++ b/installer/data/mysql/de-DE/mandatory/sample_notices.sql @@ -233,7 +233,21 @@ ITEM RECALLED Barcode: <> Callnumber: <> Waiting since: <> -Notes: <>', 'print'); +Notes: <>', 'print') +('circulation','RETURN_RECALLED_ITEM','','Notification to return a recalled item','0','Notification to return a recalled item','Date: <> + +<> <>, + +A recall has been placed on the following item: <> / <> (<>). The due date has been updated, and is now <>. Please return the item before the due date. + +Thank you!','sms'), +('circulation','PICKUP_RECALLED_ITEM','','Recalled item awaiting pickup','0','Recalled item awaiting pickup','Date: <> + +<> <>, + +A recall that you requested on the following item: <> / <> (<>) is now ready for you to pick up at <>. Please pick up your item by <>. + +Thank you!','sms'); INSERT INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title`, `content`, `message_transport_type`, `lang`) VALUES ('circulation', 'ACCOUNT_PAYMENT', '', 'Zahlung', 0, 'Zahlungsquittung für Bibliothekskonto', '[%- USE Price -%]\r\nEine Zahlung in Höhe von [% credit.amount * -1 | $Price %] wurde auf Ihr Konto verbucht.\r\n\r\nDiese Zahlung wurde mit den folgenden Gebührenposten verrechnet:\r\n[%- FOREACH o IN offsets %]\r\nBeschreibung: [% o.debit.description %]\r\nGezahlter Betrag: [% o.amount * -1 | $Price %]\r\nOffener Betrag: [% o.debit.amountoutstanding | $Price %]\r\n[% END %]', 'email', 'default'), diff --git a/installer/data/mysql/en/mandatory/sample_notices.yml b/installer/data/mysql/en/mandatory/sample_notices.yml index 317483961dd..15a030afbde 100644 --- a/installer/data/mysql/en/mandatory/sample_notices.yml +++ b/installer/data/mysql/en/mandatory/sample_notices.yml @@ -1266,3 +1266,37 @@ tables: - "Callnumber: <>" - "Waiting since: <>" - "Notes: <>" + + - module: circulation + code: RETURN_RECALLED_ITEM + branchcode: "" + name: "Notification to return a recalled item" + is_html: 0 + title: "Notification to return a recalled item" + message_transport_type: sms + lang: default + content: + - "Date: <>" + - "" + - "<> <>," + - "" + - "A recall has been placed on the following item: <> / <> (<>). The due date has been updated, and is now <>. Please return the item before the due date." + - "" + - "Thank you!" + + - module: circulation + code: PICKUP_RECALLED_ITEM + branchcode: "" + name: "Recalled item awaiting pickup" + is_html: 0 + title: "Recalled item awaiting pickup" + message_transport_type: sms + lang: default + content: + - "Date: <>" + - "" + - "<> <>," + - "" + - "A recall that you requested on the following item: <> / <> (<>) is now ready for you to pick up at <>. Please pick up your item by <>." + - "" + - "Thank you!" diff --git a/installer/data/mysql/fr-CA/obligatoire/sample_notices.sql b/installer/data/mysql/fr-CA/obligatoire/sample_notices.sql index 08131a25f88..ee1b79a4cdd 100644 --- a/installer/data/mysql/fr-CA/obligatoire/sample_notices.sql +++ b/installer/data/mysql/fr-CA/obligatoire/sample_notices.sql @@ -112,7 +112,21 @@ ITEM RECALLED Barcode: <> Callnumber: <> Waiting since: <> -Notes: <>', 'print'); +Notes: <>', 'print'), +('circulation','RETURN_RECALLED_ITEM','','Notification to return a recalled item','0','Notification to return a recalled item','Date: <> + +<> <>, + +A recall has been placed on the following item: <> / <> (<>). The due date has been updated, and is now <>. Please return the item before the due date. + +Thank you!','sms'), +('circulation','PICKUP_RECALLED_ITEM','','Recalled item awaiting pickup','0','Recalled item awaiting pickup','Date: <> + +<> <>, + +A recall that you requested on the following item: <> / <> (<>) is now ready for you to pick up at <>. Please pick up your item by <>. + +Thank you!','sms'); INSERT INTO `letter` (module, code, branchcode, name, is_html, title, content, message_transport_type) VALUES ('members','PASSWORD_RESET','','Récupération de mot de passe en ligne',1,'Récupération de mot de passe','\r\n

Ce courriel vous a été envoyé suite à une demande de récupération de mot de passe pour le compte de <>.\r\n

\r\n

\r\nVous pouvez créer un nouveau mot de passe en cliquant le lien suivant :\r\n
>\"><>\r\n

\r\n

Ce lien sera valide pour 2 jours après la réception de ce courriel. Si vous ne changez pas votre mot de passe d\'ici deux jours, vous devrez faire une nouvelle demande de récuération de mot de passe..

\r\n

Merci.

\r\n\r\n','email'), diff --git a/installer/data/mysql/fr-FR/1-Obligatoire/sample_notices.sql b/installer/data/mysql/fr-FR/1-Obligatoire/sample_notices.sql index 1183df588bb..0efa1ccb400 100644 --- a/installer/data/mysql/fr-FR/1-Obligatoire/sample_notices.sql +++ b/installer/data/mysql/fr-FR/1-Obligatoire/sample_notices.sql @@ -227,7 +227,21 @@ ITEM RECALLED Barcode: <> Callnumber: <> Waiting since: <> -Notes: <>', 'print'); +Notes: <>', 'print'), +('circulation','RETURN_RECALLED_ITEM','','Notification to return a recalled item','0','Notification to return a recalled item','Date: <> + +<> <>, + +A recall has been placed on the following item: <> / <> (<>). The due date has been updated, and is now <>. Please return the item before the due date. + +Thank you!','sms'), +('circulation','PICKUP_RECALLED_ITEM','','Recalled item awaiting pickup','0','Recalled item awaiting pickup','Date: <> + +<> <>, + +A recall that you requested on the following item: <> / <> (<>) is now ready for you to pick up at <>. Please pick up your item by <>. + +Thank you!','sms'); INSERT INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title`, `content`, `message_transport_type`, `lang`) VALUES ('circulation', 'ACCOUNT_PAYMENT', '', 'Account payment', 0, 'Account payment', '[%- USE Price -%]\r\nA payment of [% credit.amount * -1 | $Price %] has been applied to your account.\r\n\r\nThis payment affected the following fees:\r\n[%- FOREACH o IN offsets %]\r\nDescription: [% o.debit.description %]\r\nAmount paid: [% o.amount * -1 | $Price %]\r\nAmount remaining: [% o.debit.amountoutstanding | $Price %]\r\n[% END %]', 'email', 'default'), diff --git a/installer/data/mysql/it-IT/necessari/notices.sql b/installer/data/mysql/it-IT/necessari/notices.sql index 96897dfb150..0f54fea25a6 100644 --- a/installer/data/mysql/it-IT/necessari/notices.sql +++ b/installer/data/mysql/it-IT/necessari/notices.sql @@ -229,7 +229,21 @@ ITEM RECALLED Barcode: <> Callnumber: <> Waiting since: <> -Notes: <>', 'print'); +Notes: <>', 'print'), +('circulation','RETURN_RECALLED_ITEM','','Notification to return a recalled item','0','Notification to return a recalled item','Date: <> + +<> <>, + +A recall has been placed on the following item: <> / <> (<>). The due date has been updated, and is now <>. Please return the item before the due date. + +Thank you!','sms'), +('circulation','PICKUP_RECALLED_ITEM','','Recalled item awaiting pickup','0','Recalled item awaiting pickup','Date: <> + +<> <>, + +A recall that you requested on the following item: <> / <> (<>) is now ready for you to pick up at <>. Please pick up your item by <>. + +Thank you!','sms'); INSERT INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title`, `content`, `message_transport_type`, `lang`) VALUES ('circulation', 'ACCOUNT_PAYMENT', '', 'Account payment', 0, 'Account payment', '[%- USE Price -%]\r\nA payment of [% credit.amount * -1 | $Price %] has been applied to your account.\r\n\r\nThis payment affected the following fees:\r\n[%- FOREACH o IN offsets %]\r\nDescription: [% o.debit.description %]\r\nAmount paid: [% o.amount * -1 | $Price %]\r\nAmount remaining: [% o.debit.amountoutstanding | $Price %]\r\n[% END %]', 'email', 'default'), diff --git a/installer/data/mysql/mandatory/sample_notices_message_attributes.sql b/installer/data/mysql/mandatory/sample_notices_message_attributes.sql index a7a6032cc74..c3a2f65294b 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, 'Recall_Waiting', 0), +(8, 'Recall_Requested', 0); diff --git a/installer/data/mysql/mandatory/sample_notices_message_transports.sql b/installer/data/mysql/mandatory/sample_notices_message_transports.sql index 5954bafc7b3..7806fdc7670 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", "PICKUP_RECALLED_ITEM"), +(7, "sms", 0, "circulation", "PICKUP_RECALLED_ITEM"), +(8, "email", 0, "circulation", "RETURN_RECALLED_ITEM"), +(8, "sms", 0, "circulation", "RETURN_RECALLED_ITEM"); diff --git a/installer/data/mysql/nb-NO/1-Obligatorisk/sample_notices.sql b/installer/data/mysql/nb-NO/1-Obligatorisk/sample_notices.sql index b6e862c5226..86fd7114e7b 100644 --- a/installer/data/mysql/nb-NO/1-Obligatorisk/sample_notices.sql +++ b/installer/data/mysql/nb-NO/1-Obligatorisk/sample_notices.sql @@ -246,7 +246,21 @@ ITEM RECALLED Barcode: <> Callnumber: <> Waiting since: <> -Notes: <>', 'print'); +Notes: <>', 'print'), +('circulation','RETURN_RECALLED_ITEM','','Notification to return a recalled item','0','Notification to return a recalled item','Date: <> + +<> <>, + +A recall has been placed on the following item: <> / <> (<>). The due date has been updated, and is now <>. Please return the item before the due date. + +Thank you!','sms'), +('circulation','PICKUP_RECALLED_ITEM','','Recalled item awaiting pickup','0','Recalled item awaiting pickup','Date: <> + +<> <>, + +A recall that you requested on the following item: <> / <> (<>) is now ready for you to pick up at <>. Please pick up your item by <>. + +Thank you!','sms'); INSERT INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title`, `content`, `message_transport_type`, `lang`) VALUES ('circulation', 'ACCOUNT_PAYMENT', '', 'Account payment', 0, 'Account payment', '[%- USE Price -%]\r\nA payment of [% credit.amount * -1 | $Price %] has been applied to your account.\r\n\r\nThis payment affected the following fees:\r\n[%- FOREACH o IN offsets %]\r\nDescription: [% o.debit.description %]\r\nAmount paid: [% o.amount * -1 | $Price %]\r\nAmount remaining: [% o.debit.amountoutstanding | $Price %]\r\n[% END %]', 'email', 'default'), diff --git a/installer/data/mysql/pl-PL/mandatory/sample_notices.sql b/installer/data/mysql/pl-PL/mandatory/sample_notices.sql index 5640b340825..d2cf9baebe2 100644 --- a/installer/data/mysql/pl-PL/mandatory/sample_notices.sql +++ b/installer/data/mysql/pl-PL/mandatory/sample_notices.sql @@ -224,7 +224,21 @@ ITEM RECALLED Barcode: <> Callnumber: <> Waiting since: <> -Notes: <>', 'print'); +Notes: <>', 'print'), +('circulation','RETURN_RECALLED_ITEM','','Notification to return a recalled item','0','Notification to return a recalled item','Date: <> + +<> <>, + +A recall has been placed on the following item: <> / <> (<>). The due date has been updated, and is now <>. Please return the item before the due date. + +Thank you!','sms'), +('circulation','PICKUP_RECALLED_ITEM','','Recalled item awaiting pickup','0','Recalled item awaiting pickup','Date: <> + +<> <>, + +A recall that you requested on the following item: <> / <> (<>) is now ready for you to pick up at <>. Please pick up your item by <>. + +Thank you!','sms'); INSERT INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title`, `content`, `message_transport_type`, `lang`) VALUES ('circulation', 'ACCOUNT_PAYMENT', '', 'Account payment', 0, 'Account payment', '[%- USE Price -%]\r\nA payment of [% credit.amount * -1 | $Price %] has been applied to your account.\r\n\r\nThis payment affected the following fees:\r\n[%- FOREACH o IN offsets %]\r\nDescription: [% o.debit.description %]\r\nAmount paid: [% o.amount * -1 | $Price %]\r\nAmount remaining: [% o.debit.amountoutstanding | $Price %]\r\n[% END %]', 'email', 'default'), diff --git a/installer/data/mysql/ru-RU/mandatory/sample_notices.sql b/installer/data/mysql/ru-RU/mandatory/sample_notices.sql index 6616841c55e..8eb1b43433b 100644 --- a/installer/data/mysql/ru-RU/mandatory/sample_notices.sql +++ b/installer/data/mysql/ru-RU/mandatory/sample_notices.sql @@ -226,7 +226,21 @@ ITEM RECALLED Barcode: <> Callnumber: <> Waiting since: <> -Notes: <>', 'print'); +Notes: <>', 'print'), +('circulation','RETURN_RECALLED_ITEM','','Notification to return a recalled item','0','Notification to return a recalled item','Date: <> + +<> <>, + +A recall has been placed on the following item: <> / <> (<>). The due date has been updated, and is now <>. Please return the item before the due date. + +Thank you!','sms'), +('circulation','PICKUP_RECALLED_ITEM','','Recalled item awaiting pickup','0','Recalled item awaiting pickup','Date: <> + +<> <>, + +A recall that you requested on the following item: <> / <> (<>) is now ready for you to pick up at <>. Please pick up your item by <>. + +Thank you!','sms'); INSERT INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title`, `content`, `message_transport_type`, `lang`) VALUES ('circulation', 'ACCOUNT_PAYMENT', '', 'Account payment', 0, 'Account payment', '[%- USE Price -%]\r\nA payment of [% credit.amount * -1 | $Price %] has been applied to your account.\r\n\r\nThis payment affected the following fees:\r\n[%- FOREACH o IN offsets %]\r\nDescription: [% o.debit.description %]\r\nAmount paid: [% o.amount * -1 | $Price %]\r\nAmount remaining: [% o.debit.amountoutstanding | $Price %]\r\n[% END %]', 'email', 'default'), diff --git a/installer/data/mysql/uk-UA/mandatory/sample_notices.sql b/installer/data/mysql/uk-UA/mandatory/sample_notices.sql index a5e87f5ea15..4f0dda30da0 100644 --- a/installer/data/mysql/uk-UA/mandatory/sample_notices.sql +++ b/installer/data/mysql/uk-UA/mandatory/sample_notices.sql @@ -320,7 +320,23 @@ ITEM RECALLED Barcode: <> Callnumber: <> Waiting since: <> -Notes: <>', 'print') +Notes: <>', 'print'), + +('circulation','RETURN_RECALLED_ITEM','','Notification to return a recalled item','0','Notification to return a recalled item','Date: <> + +<> <>, + +A recall has been placed on the following item: <> / <> (<>). The due date has been updated, and is now <>. Please return the item before the due date. + +Thank you!','sms'), + +('circulation','PICKUP_RECALLED_ITEM','','Recalled item awaiting pickup','0','Recalled item awaiting pickup','Date: <> + +<> <>, + +A recall that you requested on the following item: <> / <> (<>) is now ready for you to pick up at <>. Please pick up your item by <>. + +Thank you!','sms') ; INSERT INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title`, `content`, `message_transport_type`, `lang`) VALUES diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/messaging-preference-form.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/messaging-preference-form.inc index 2f948c62363..d18f95c455d 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/messaging-preference-form.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/messaging-preference-form.inc @@ -20,6 +20,8 @@ [% ELSIF ( messaging_preference.Hold_Filled ) %]Hold filled [% ELSIF ( messaging_preference.Item_Check_in ) %]Item check-in [% ELSIF ( messaging_preference.Item_Checkout ) %]Item checkout + [% ELSIF ( messaging_preference.Recall_Waiting ) %]Recall awaiting pickup + [% ELSIF ( messaging_preference.Recall_Requested ) %]Return recalled item [% ELSE %]Unknown [% END %] [% IF ( messaging_preference.takes_days ) %] diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-messaging.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-messaging.tt index 7fd47865031..789a115b632 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-messaging.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-messaging.tt @@ -52,6 +52,8 @@ [% ELSIF ( messaging_preference.Hold_Filled ) %]Hold filled [% ELSIF ( messaging_preference.Item_Check_in ) %]Item check-in [% ELSIF ( messaging_preference.Item_Checkout ) %]Item checkout + [% ELSIF ( messaging_preference.Recall_Waiting ) %]Recall awaiting pickup + [% ELSIF ( messaging_preference.Recall_Requested ) %]Return recalled item [% ELSE %]Unknown [% END %] [% IF ( messaging_preference.takes_days ) %]