From d0f922c24f8d2c98e7fbe9bea6ccda841917e8fe Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Wed, 27 Feb 2019 12:45:47 -0500 Subject: [PATCH] Bug 20937: Truncate items for print notices when user has an email To test: 1 - Set PrintNoticesMaxLines to 1 2 - Checkout 2 (or more) items to a patron and make them overdue to trigger a notice 3 - Make sure the patron has an email 4 - Make sure the notice you are sending is set to 'print' as the type 5 - Run overdue_notices.pl without the 'nomail' option 6 - Find the message and note all items have been added 7 - Apply patch 8 - Clear the message queue 9 - Re-run overdue_notices.pl 10 - Confirm the message now has only 1 item. 11 - Set PrintNoticesMaxLines to 0 12 - Clear the message queue 13 - Re-run overdue_notices.pl 14 - Confirm the message has 2 items as expected --- misc/cronjobs/overdue_notices.pl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/misc/cronjobs/overdue_notices.pl b/misc/cronjobs/overdue_notices.pl index 8c42335c2c..d74edb5495 100755 --- a/misc/cronjobs/overdue_notices.pl +++ b/misc/cronjobs/overdue_notices.pl @@ -683,6 +683,8 @@ END_SQL # email or sms is requested but not exist, do a print. $effective_mtt = 'print'; } + splice @items, $PrintNoticesMaxLines if $effective_mtt eq 'print' && $PrintNoticesMaxLines && scalar @items > $PrintNoticesMaxLines; + #catch the case where we are sending a print to someone with an email my $letter_exists = C4::Letters::getletter( 'circulation', $overdue_rules->{"letter$i"}, $branchcode, $effective_mtt ) ? 1 : 0; my $letter = parse_overdues_letter( -- 2.11.0