Bug 32518

Summary: Add reason option to cancel_unfilled_holds
Product: Koha Reporter: Nick Clemens (kidclamp) <nick>
Component: Command-line UtilitiesAssignee: Nick Clemens (kidclamp) <nick>
Status: CLOSED FIXED QA Contact: Testopia <testopia>
Severity: enhancement    
Priority: P5 - low CC: robin, victor
Version: Main   
Hardware: All   
OS: All   
Change sponsored?: --- Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
23.05.00
Circulation function:
Attachments: Bug 32518: Add reason option to cancel_unfilled_holds cronjob
Bug 32518: Add reason option to cancel_unfilled_holds cronjob
Bug 32518: Add reason option to cancel_unfilled_holds cronjob
Bug 32518: Add reason option to cancel_unfilled_holds cronjob
Bug 32518: (QA follow-up) Fix alignment

Description Nick Clemens (kidclamp) 2022-12-22 21:02:34 UTC
In cancel_expired_holds we can add a reason to the cron send emails relating to cancellation, we should have the same here
Comment 1 Nick Clemens (kidclamp) 2022-12-22 21:14:52 UTC
Created attachment 144806 [details] [review]
Bug 32518: Add reason option to cancel_unfilled_holds cronjob

This adds a reaosn parameter and passes it into the cancellation if supplied

To test:
1 - Place a hold for a patron in your system
2 - Run script with --days 0 -v
3 - verify that it would cancel the reserves (and that you are okay with cancelling the ones it found)
4 - Make sure you have a notice in the holds module with code 'HOLD_CANCELLATION'
5 - Set content of the notice like:
[% IF hold.cancellation_reason=='too_old' %]
Canceled old
[% END %]
6 - Run script with --days 0 -v --reason too_bad -c
7 - Confirm hold cancelled, no notice sent to patron
8 - Place another hold
9 - Run script with --days 0 -v --reason too_old -c
10 - Confirm hold cancelled, notice sent to patron
Comment 2 Nick Clemens (kidclamp) 2022-12-23 13:25:19 UTC
Created attachment 144820 [details] [review]
Bug 32518: Add reason option to cancel_unfilled_holds cronjob

This adds a reaosn parameter and passes it into the cancellation if supplied

To test:
1 - Place a hold for a patron in your system
2 - Run script with --days 0 -v
3 - verify that it would cancel the reserves (and that you are okay with cancelling the ones it found)
4 - Make sure you have a notice in the holds module with code 'HOLD_CANCELLATION'
5 - Set content of the notice like:
[% IF hold.cancellation_reason=='too_old' %]
Canceled old
[% END %]
6 - Run script with --days 0 -v --reason too_bad -c
7 - Confirm hold cancelled, no notice sent to patron
8 - Place another hold
9 - Run script with --days 0 -v --reason too_old -c
10 - Confirm hold cancelled, notice sent to patron
Comment 3 Andrew Fuerste-Henry 2023-01-27 15:07:44 UTC
Created attachment 145755 [details] [review]
Bug 32518: Add reason option to cancel_unfilled_holds cronjob

This adds a reaosn parameter and passes it into the cancellation if supplied

To test:
1 - Place a hold for a patron in your system
2 - Run script with --days 0 -v
3 - verify that it would cancel the reserves (and that you are okay with cancelling the ones it found)
4 - Make sure you have a notice in the holds module with code 'HOLD_CANCELLATION'
5 - Set content of the notice like:
[% IF hold.cancellation_reason=='too_old' %]
Canceled old
[% END %]
6 - Run script with --days 0 -v --reason too_bad -c
7 - Confirm hold cancelled, no notice sent to patron
8 - Place another hold
9 - Run script with --days 0 -v --reason too_old -c
10 - Confirm hold cancelled, notice sent to patron

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Comment 4 Victor Grousset/tuxayo 2023-02-27 08:54:13 UTC
Created attachment 147424 [details] [review]
Bug 32518: Add reason option to cancel_unfilled_holds cronjob

This adds a reaosn parameter and passes it into the cancellation if supplied

To test:
1 - Place a hold for a patron in your system
2 - Run script with --days 0 -v
3 - verify that it would cancel the reserves (and that you are okay with cancelling the ones it found)
4 - Make sure you have a notice in the holds module with code 'HOLD_CANCELLATION'
5 - Set content of the notice like:
[% IF hold.cancellation_reason=='too_old' %]
Canceled old
[% END %]
6 - Run script with --days 0 -v --reason too_bad -c
7 - Confirm hold cancelled, no notice sent to patron
8 - Place another hold
9 - Run script with --days 0 -v --reason too_old -c
10 - Confirm hold cancelled, notice sent to patron

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Comment 5 Victor Grousset/tuxayo 2023-02-27 08:54:15 UTC
Created attachment 147425 [details] [review]
Bug 32518: (QA follow-up) Fix alignment

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Comment 6 Victor Grousset/tuxayo 2023-02-27 08:54:41 UTC
Works, QA script happy, code looks good, passing QA :)
Comment 7 Tomás Cohen Arazi (tcohen) 2023-03-02 17:45:55 UTC
Pushed to master for 23.05.

Nice work everyone, thanks!