This patch updates Koha::Checkout->attempt_auto_renew to renew when the 'final' errors are passed, and to pass the error value back to the cronjob for processing
The sample notice for AUTO_RENEW and AUTO_RENEW_DGST are both updated to handle the new error
On the next cron the error will be updated to too_many or too_unseen, but a notice will not be sent.
To test:
0 - Run reset_all to install the updated sample notices or copy the text
1 - Set system preference UnseenRenewals to 'Allow'
2 - Setup a circ rule to allow 2 renewals, 2 unseen renewals
3 - Checkout an item to a patron who has an email defined and auto renewals selected in messaging preferences
4 - Update the issue to be due/overdue:
UPDATE issues SET date_due=DATE_SUB(NOW(), INTERVAL 1 DAYS);
5 - perl misc/cronjobs/automatic_renewals.pl -v -c
6 - Confirm patron notified and issue renewed
7 - Set issue due/overdue again
8 - perl misc/cronjobs/automatic_renewals.pl -v -c
9 - Confirm patron notified of final unseen renewal
10 - perl misc/cronjobs/automatic_renewals.pl -v -c
11 - Confirm issue not renewed, patron not notified
12 - Update circ rules t all 4 renewals total
13 - Force renewal on staff side to clear unseen
14 - perl misc/cronjobs/automatic_renewals.pl -v -c
15 - Confirm patron notified of final renewal (allowed 4, 2 unseen from cron, 1 manual, this unseen from cron)
16 - perl misc/cronjobs/automatic_renewals.pl -v -c
17 - Confirm patron not notified, issue not renewed
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>