Bug 12717: Library no longer receiving Overdue email for patrons without email address

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>
This commit is contained in:
Jonathan Druart 2014-08-20 13:26:49 +02:00 committed by Tomas Cohen Arazi
parent 794fa6e805
commit 2031c3e5ca

View file

@ -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.