Bug 14364: Allow automatically canceled expired waiting holds to fill the next hold
authorKyle M Hall <kyle@bywatetsolutions.com>
Fri, 2 Feb 2018 13:36:02 +0000 (08:36 -0500)
committerTomas Cohen Arazi <tomascohen@theke.io>
Fri, 29 Jul 2022 19:00:17 +0000 (16:00 -0300)
commit6a770ace343b349c03c483c51356dc78f1a16514
treeadf1d92313b1ac4bb32053e35a6881727a27e797
parentc39e47cbf3af9b7fcedbfd3a3e0efcffb74efb10
Bug 14364: Allow automatically canceled expired waiting holds to fill the next hold

Right now, if a library automatically cancels expired waiting holds, a
librarian must still re-checkin an item to trap the next available hold
for that item. It would be better if the next hold was automatically
trapped and the librarians receive an email notification so they can
make any changes to the item if need be ( hold area, hold slip in item,
etc ).

Test Plan:
 1) Apply this patch
 2) Run updatedatabase.pl
 3) Create a record with one item
 4) Place two holds on that record
 5) Check in the item and set it to waiting for the first patron
 6) Set ReservesMaxPickUpDelay to 1
 7) Enable ExpireReservesMaxPickUpDelay
 8) Enable ExpireReservesAutoFill
 9) Set an email address in ExpireReservesAutoFillEmail
10) Modify the holds waitingdate to be in the past
11) Run misc/cronjobs/holds/cancel_expired_holds.pl
12) Note the hold is now waiting for the next patron
12) Note a waiting hold notification email was sent to that patron
13) Note a hold changed notification email was sent to the library

Signed-off-by: Victoria Faafia <vfaafia29@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
C4/Reserves.pm
Koha/Hold.pm
installer/data/mysql/atomicupdate/bug_14364.perl [new file with mode: 0644]
installer/data/mysql/mandatory/sysprefs.sql
koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref
t/db_dependent/Holds/ExpireReservesAutoFill.t [new file with mode: 0755]