Bug 36502

Summary: Independent branches should not prevent holds if canreservefromotherbranches is enabled
Product: Koha Reporter: Laura Escamilla <Laura.escamilla>
Component: CirculationAssignee: Laura Escamilla <Laura.escamilla>
Status: Needs Signoff --- QA Contact: Testopia <testopia>
Severity: normal    
Priority: P5 - low CC: david, esther.melander, gmcharlt, kyle, martin.renvoize
Version: Main   
Hardware: All   
OS: All   
GIT URL: Initiative type: ---
Sponsorship status: --- Comma delimited list of Sponsors:
Crowdfunding goal: 0 Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
Circulation function:
Attachments: Bug 36502: Canreservefromotherbranches allows staff to place holds even if independent branches is enabled
Bug 36502: Canreservefromotherbranches allows staff to place holds even if independent branches is enabled
Bug 36502: Canreservefromotherbranches allows staff to place holds even if independent branches is enabled
Bug 36502: Unit tests

Description Laura Escamilla 2024-04-03 12:02:19 UTC
Libraries with IndependentBranches enabled would still like to place holds on items from other branches if they have canreservefromotherbranches enabled as well.
Comment 1 Laura Escamilla 2024-04-03 12:57:50 UTC
Created attachment 164376 [details] [review]
Bug 36502: Canreservefromotherbranches allows staff to place holds even if independent branches is enabled

To test:

1. Enable both the IndependentBranches and canreservefromotherbranches system preferences.
2. Log in to the staff interface with a non-super librarian staff user that has permissions to place holds.
3. Search the catalog for an item.
    1. The non-super librarian user should be able to place holds on item from their branch.
    2. They should see a “No holds allowed” on items from other branches.
4. Apply the patch and restart_all
5. Repeat step 3 or refresh the page.
    1. The non-super librarian can now place holds on items from their branch and other branches.
6. Turn off canreservefromotherbranches
    1. The non-super librarian cannot place holds on items from other branches again.
7. Sign off and have a great day! :D
Comment 2 ByWater Sandboxes 2024-04-03 18:53:34 UTC
Created attachment 164388 [details] [review]
Bug 36502: Canreservefromotherbranches allows staff to place holds even if independent branches is enabled

To test:

1. Enable both the IndependentBranches and canreservefromotherbranches system preferences.
2. Log in to the staff interface with a non-super librarian staff user that has permissions to place holds.
3. Search the catalog for an item.
    1. The non-super librarian user should be able to place holds on item from their branch.
    2. They should see a “No holds allowed” on items from other branches.
4. Apply the patch and restart_all
5. Repeat step 3 or refresh the page.
    1. The non-super librarian can now place holds on items from their branch and other branches.
6. Turn off canreservefromotherbranches
    1. The non-super librarian cannot place holds on items from other branches again.
7. Sign off and have a great day! :D

Signed-off-by: esther <esther@bywatersolutions.com>
Comment 3 Martin Renvoize (ashimema) 2024-06-04 12:05:14 UTC
Sorry Laura, there's a little more work needed here.

We're missing a unit test update (both to fix the failure this introduces and test the new case introduced)

* Proving t/db_dependent/Koha/Items.t KO!

    #   Failed test '2 items for hold, filtered by IndependentBranches'
    #   at t/db_dependent/Koha/Items.t line 2068.
    #          got: '6'
    #     expected: '2'
     # Looks like you failed 1 test of 13.
 
#   Failed test 'filter_by_for_hold'
#   at t/db_dependent/Koha/Items.t line 2078.
 # Looks like you failed 1 test of 20.
 t/db_dependent/Koha/Items.t ..
Comment 4 Laura Escamilla 2025-08-30 01:31:26 UTC
Created attachment 185992 [details] [review]
Bug 36502: Canreservefromotherbranches allows staff to place holds even if independent branches is enabled
Comment 5 Laura Escamilla 2025-08-30 01:31:29 UTC
Created attachment 185993 [details] [review]
Bug 36502: Unit tests

To test:

1. Enable both the IndependentBranches and canreservefromotherbranches system preferences.
2. Log in to the staff interface with a non-super librarian staff user that has permissions to place holds.
3. Search the catalog for an item.
    1. The non-super librarian user should be able to place holds on item from their branch.
    2. They should see a “No holds allowed” on items from other branches.
4. Apply the patch and restart_all
5. Repeat step 3 or refresh the page.
    1. The non-super librarian can now place holds on items from their branch and other branches.
6. Turn off canreservefromotherbranches
    1. The non-super librarian cannot place holds on items from other branches again.
7. prove t/db_dependent/Koha/Items.t
8. Sign off and have a great day! :D
Comment 6 David Nind 2025-12-07 18:44:42 UTC
I attempted to test, but I'm not getting the behavour described in the test plan.

Or maybe I'm not testing this correctly - any additional steps to help reproduce or understand the issue?

==>Step 3.2 - They should see a “No holds allowed” on items from other branches.

I'm not seeing this:
1. I gave Henry (Midway) some permissions (catalogue, parameters, borrowers, reserveforothers, editcatalogue)
2. IndependentBranches = set to Yes
3. canreservefromotherbranches = allow (default, already set to allow in KTD)
4. Went to place a hold for Mary (Midway) on 'The definitive guide to Catalyst' (146), which has four items (3 at Fairview, and 1 at Midway)
5. I can place a hold on using the next available item, or any of the individual items - there is no "No holds allowed" indicator for any of the Fairview items
6. If I go to place a hold on a record where all the items are not from the library (that is, no items for Midway), then I don't have a hold toolbar button and can't place a hold
7. If I set canreservefromotherbranches = "Don't allow", this shows "X Patron is from a different library"
8. If I apply the patches and restart everything, I don't see any change in behavour - that is, it seems to work exactly the same way as before the patches for me (not that I have a great understanding of these options).
9. The tests pass before and after the patch.