Bug 33086

Summary: Allow to prevent holds at OPAC for a patron with overdues outstanding
Product: Koha Reporter: Matthias Meusburger <matthias.meusburger>
Component: Hold requestsAssignee: Tomás Cohen Arazi (tcohen) <tomascohen>
Status: ASSIGNED --- QA Contact: Testopia <testopia>
Severity: enhancement    
Priority: P5 - low CC: fridolin.somers, gmcharlt, nick, tomascohen
Version: Main   
Hardware: All   
OS: All   
See Also: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40101
GIT URL: Change sponsored?: ---
Patch complexity: --- Documentation contact:
Documentation submission: Text to go in the release notes:
Version(s) released in:
Circulation function:
Attachments: Bug 33086: Allow to prevent holds at OPAC for a patron with overdues outstanding
Bug 33086: Allow to prevent holds at OPAC for a patron with overdues outstanding
Bug 33086: Allow to prevent holds at OPAC for a patron with overdues outstanding

Description Matthias Meusburger 2023-02-28 14:57:35 UTC
It would be nice to have a way to prevent patrons from placing holds at OPAC when they have overdues.
Comment 1 Matthias Meusburger 2023-02-28 15:01:58 UTC
Created attachment 147494 [details] [review]
Bug 33086: Allow to prevent holds at OPAC for a patron with overdues outstanding

Test plan:

1) Add overdues to a patron

2) Set the OverduesBlockHolds system preference to "Don't block"

3) Check that you can place a hold for this patron, both at OPAC and Intranet

4) Set the OverduesBlockHolds system preference to "Block"

5) Check that you cannot place a hold for this patron at OPAC, with the
following message: "This title cannot be requested because you have overdues"

6) Check that you can place a hold for this patron at Intranet, but with the
following warning: "Patron has overdues"
Comment 2 Matthias Meusburger 2023-02-28 15:05:56 UTC
Created attachment 147495 [details] [review]
Bug 33086: Allow to prevent holds at OPAC for a patron with overdues outstanding

Test plan:

1) Add overdues to a patron

2) Set the OverduesBlockHolds system preference to "Don't block"

3) Check that you can place a hold for this patron, both at OPAC and Intranet

4) Set the OverduesBlockHolds system preference to "Block"

5) Check that you cannot place a hold for this patron at OPAC, with the
following message: "This title cannot be requested because you have overdues"

6) Check that you can place a hold for this patron at Intranet, but with the
following warning: "Patron has overdues"
Comment 3 Lucas Gass (lukeg) 2023-03-01 16:14:29 UTC
Created attachment 147571 [details] [review]
Bug 33086: Allow to prevent holds at OPAC for a patron with overdues outstanding

Test plan:

1) Add overdues to a patron

2) Set the OverduesBlockHolds system preference to "Don't block"

3) Check that you can place a hold for this patron, both at OPAC and Intranet

4) Set the OverduesBlockHolds system preference to "Block"

5) Check that you cannot place a hold for this patron at OPAC, with the
following message: "This title cannot be requested because you have overdues"

6) Check that you can place a hold for this patron at Intranet, but with the
following warning: "Patron has overdues"

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 4 Nick Clemens (kidclamp) 2023-03-30 13:40:14 UTC
I think the syspref name needs to be more explicit: OverduesBlockPlacingHolds

 - Holds are not blocked for the patron - i.e. existing holds can be filled, this should be in the description

 - I feel we could block earlier too, disabling the hold button on the OPAC, but that's just a suggestion

 - I think we need the check added to 'CanItemBeReserved' as well - ILSDI would allow the hold without, and there may be more
Comment 5 Fridolin Somers 2024-06-21 14:16:21 UTC
Maybe we could think of something depending on patron category, close to BlockExpiredPatronOpacActions' fro Bug 6739
Comment 6 Fridolin Somers 2024-06-21 14:21:05 UTC
In my opinion preference should be a boolean Yes/No
Comment 7 Tomás Cohen Arazi (tcohen) 2025-06-12 12:07:03 UTC
Please, make it dependent on bug 40101.
Comment 8 Tomás Cohen Arazi (tcohen) 2025-06-27 19:56:22 UTC
Hey folks, I have a working implementation for this one, using circulation rules instead. Making up my mind on how to organize things in the UI before submission.