Bug 14133: Print notices should be generated with the print template
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Fri, 21 Aug 2015 09:43:13 +0000 (10:43 +0100)
committerFrédéric Demians <f.demians@tamil.fr>
Thu, 11 Feb 2016 18:55:43 +0000 (19:55 +0100)
If the overdue notice to send is an email or a SMS and the patron does
not provided such information, a print notice is generated.
But it will be generated with the email or sms template, which is not
useful, especially in the SMS case.

The template to use should be the print one.

Test plan:
0/ Does not apply this patch and Correctly define the overdue rules to generate
an overdue notice to the message_queue table.
Check email + SMS
1/ Define an email address and a SMS number for a patron
2/ Generate the overdue notices (misc/cronjobs/overdue_notices.pl [-t])
3/ 2 notices should have been generated:
    mtt=email with the email template used
    mtt=sms   with the sms template used
4/ Truncate the message_queue table
5/ Remove the email address and repeat 2
6/ Only 1 notice should have been generated:
    mtt=print with the email template used
7/ Truncate the message_queue table
8/ Remove the sms alert number and repeat 2
9/ 2 notices should have been generated:
    mtt=print with the email template used (or sms I suppose)

10/ Apply this patch and repeat previous steps.
The print notices should be generated with the print template.

IMPORTANT NOTE: This test plan does not take into account the notices
generated for the staff ("These messages were not sent directly to the
patrons."). However the behavior will also change, the print template
will be used in all cases. Is it what we want?

Signed-off-by: Chris <chris@bigballofwax.co.nz>

Seems fine by me

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
(cherry picked from commit 581759e985c170db0edb4a895cda641930e5ac11)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
(cherry picked from commit d55a5ca464f6af91419cab74ee91dbacff9c9722)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>

misc/cronjobs/overdue_notices.pl

index bcc400d..a16491f 100755 (executable)
@@ -671,6 +671,10 @@ END_SQL
                 my $print_sent = 0; # A print notice is not yet sent for this patron
                 for my $mtt ( @message_transport_types ) {
 
+                    if ( ($mtt eq 'email' and not scalar @emails_to_use) or ($mtt eq 'sms' and not $data->{smsalertnumber}) ) {
+                        # email or sms is requested but not exist, do a print.
+                        $mtt = 'print';
+                    }
                     my $letter = parse_letter(
                         {   letter_code     => $overdue_rules->{"letter$i"},
                             borrowernumber  => $borrowernumber,
@@ -723,8 +727,6 @@ END_SQL
                           );
                     } else {
                         if ( ($mtt eq 'email' and not scalar @emails_to_use) or ($mtt eq 'sms' and not $data->{smsalertnumber}) ) {
-                            # email or sms is requested but not exist, do a print.
-                            $mtt = 'print';
                             push @output_chunks,
                               prepare_letter_for_printing(
                               {   letter         => $letter,