Bug 12717: Library no longer receiving Overdue email for patrons without email address
authorJonathan Druart <jonathan.druart@biblibre.com>
Wed, 20 Aug 2014 11:26:49 +0000 (13:26 +0200)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Tue, 26 Aug 2014 18:08:33 +0000 (15:08 -0300)
Bug 10832 changes the fallback behavior if a patron does not have email
address: a print notice is generated into the message_queue table.
But this can cause issue for some libraries. The script should sent an
email and (generated csv, html, text file) with the list of all unsent
notices.

Test plan:
1/ Add overdue to a patron without email address (or smsalertnumber)
2/ Check email in the overdue rules configuration (or sms)
3/ Launch the overdue_notices.pl cronjob
4/ Verify the message_queue contain a print notice AND an email notice
for the library

Signed-off-by: Nick Clemens <nick@quecheelibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This works as described and restores the old behaviour for now, with
the difference that you have a print notice generated and visible
in the patron account notices tab that will say 'pending'.

We will have to figure out how we can change the workflows nicely
to have only one script deal with print notice in the future.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
misc/cronjobs/overdue_notices.pl

index a0a1254..942cb6a 100755 (executable)
@@ -692,6 +692,23 @@ END_SQL
                         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,
+                                  borrowernumber => $borrowernumber,
+                                  firstname      => $data->{'firstname'},
+                                  lastname       => $data->{'surname'},
+                                  address1       => $data->{'address'},
+                                  address2       => $data->{'address2'},
+                                  city           => $data->{'city'},
+                                  postcode       => $data->{'zipcode'},
+                                  country        => $data->{'country'},
+                                  email          => $notice_email,
+                                  itemcount      => $itemcount,
+                                  titles         => $titles,
+                                  outputformat   => defined $csvfilename ? 'csv' : defined $htmlfilename ? 'html' : defined $text_filename ? 'text' : '',
+                                }
+                              );
                         }
                         unless ( $mtt eq 'print' and $print_sent == 1 ) {
                             # Just sent a print if not already done.