Bug 15967: Fix regression from bug 14133 - notify the library if patron is not
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Thu, 3 Mar 2016 08:58:06 +0000 (08:58 +0000)
committerBrendan A Gallagher <brendan@bywatersolutions.com>
Tue, 5 Apr 2016 15:14:47 +0000 (15:14 +0000)
Regression introduced by bug 14133, see but 14133 comment 13.

Test plan:
Without this patch applied, if a patron cannot be notified (no email
address or sms number), the print notice generated for the library was
not.
With this patch applied, the print notice should be generated using the
print template

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Brendan A Gallagher <brendan@bywatersolutions.com>
misc/cronjobs/overdue_notices.pl

index f77e3bb..7b5de19 100755 (executable)
@@ -670,10 +670,10 @@ END_SQL
 
                 my $print_sent = 0; # A print notice is not yet sent for this patron
                 for my $mtt ( @message_transport_types ) {
-
+                    my $effective_mtt = $mtt;
                     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';
+                        $effective_mtt = 'print';
                     }
                     my $letter = parse_overdues_letter(
                         {   letter_code     => $overdue_rules->{"letter$i"},
@@ -685,7 +685,7 @@ END_SQL
                                                 'items.content' => $titles,
                                                 'count'         => $itemcount,
                                                },
-                            message_transport_type => $mtt,
+                            message_transport_type => $effective_mtt,
                         }
                     );
                     unless ($letter) {
@@ -745,19 +745,19 @@ END_SQL
                                 }
                               );
                         }
-                        unless ( $mtt eq 'print' and $print_sent == 1 ) {
+                        unless ( $effective_mtt eq 'print' and $print_sent == 1 ) {
                             # Just sent a print if not already done.
                             C4::Letters::EnqueueLetter(
                                 {   letter                 => $letter,
                                     borrowernumber         => $borrowernumber,
-                                    message_transport_type => $mtt,
+                                    message_transport_type => $effective_mtt,
                                     from_address           => $admin_email_address,
                                     to_address             => join(',', @emails_to_use),
                                 }
                             );
                             # A print notice should be sent only once per overdue level.
                             # Without this check, a print could be sent twice or more if the library checks sms and email and print and the patron has no email or sms number.
-                            $print_sent = 1 if $mtt eq 'print';
+                            $print_sent = 1 if $effective_mtt eq 'print';
                         }
                     }
                 }