Bug 10832: Multi transport types for overdue notices
Test plan:
- define some complex overdue rules (tools/overduerules.pl).
For example:
First overdue from 2 to 5 days by sms and email with letter code L1
Second overdue from 5 to 15 days by email with letter code L2
Third overdue from 15 days by print with letter code L3
- define a message for each transport type selected (tools/letters.pl).
- select 3 patrons (P1, P2, P3) and 3 barcodes (B1, B2, B3).
* checkout B1 to P1 with a due date = NOW + 3 days
* checkout B2 to P2 with a due date = NOW + 10 days
* checkout B3 to P3 with a due date = NOW + 20 days
- into the mysql cli, note the value of unsent message:
select count(*) from message_queue where status != "send";
- launch the cronjob:
perl misc/cronjobs/overdue_notices.pl
- retry the previous sql query, you should have X + 4 unsent messages
(depending of current checkouts in your DB!).
- view all unsent message:
select borrowernumber, letter_code, message_transport_type, content
from message_queue where status != "send";
You should see:
2 messages for P1, 1 for sms, 1 for email and the letter code L1
1 message for P2, 1 for email and the letter code L2
1 message for P3, 1 for print and the letter code L3
- Specific case: If a user don't have a smsalertnumber and a sms is
required or if a user don't have an email defined and an email is
required, a print notice is generated.
A print notice is generated only 1 time per borrower and per level.