From 60a1ec92b074d68b8c9a9c3d6cc0d5bf44900bd7 Mon Sep 17 00:00:00 2001
From: The Minh Luong <the-minh.luong@inlibro.com>
Date: Tue, 25 Jan 2022 12:20:38 -0500
Subject: [PATCH] Bug 28975: Holds queue lists can show holds from all
 libraries even with IndependentBranches

When using IndependentBranches, usually all branches are removed from the drop-down menus. But in the Holds Queue page, there is the possibility to choose "All branches". From there, you can see holds for patrons from other branches and even click on the names of the patrons to access their file and see their information (!!).

To recreate :
1) Activate IndependentBranches, IndependentBranchesPatronModifications and IndependentBranchesTransfers
2) Create a staff user with limited permissions (NOT a superlibrarian), including holds permissions. Here are mine as an example
  - circulate (all)
  - catalogue
  - borrowers
    - delete_borrowers
    - edit_borrowers
  - reserveforothers (all)
  - reports (all)
3) Create (or make sure you already have) a patron in another branch (we'll call them patron X)
4) Place a hold for patron X on an available item from their own library
5) Run misc/cronjobs/holds/build_holds_queue.pl
6) Go to Circulation > Holds queue and make sure you can see the hold
7) Log in as your limited staff patron
8) Go to Circulation > Holds queue
9) In the drop-down menu, choose "All" and click Submit
-- Patron X and their hold appear in the list
10) Click on patron X's name
-- You can access patron X's file and see their information
11) Apply the patch.
12) Notice that the "All" option is no longer available for the limited patron. Limited patrons can't see holds from other libraries anymore.
---
 koha-tmpl/intranet-tmpl/prog/en/modules/circ/view_holdsqueue.tt | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/view_holdsqueue.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/view_holdsqueue.tt
index b3c73577b2..c409c612a8 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/view_holdsqueue.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/view_holdsqueue.tt
@@ -237,7 +237,9 @@
                 <li>
                     <label for="branchlimit">Library: </label>
                     <select name="branchlimit" id="branchlimit">
+                    [% IF Koha.Preference('IndependentBranches') && CAN_user_superlibrarian %]
                         <option value="">All</option>
+                    [% END %]
                         [% PROCESS options_for_libraries libraries => Branches.all( selected => branchlimit, only_from_group => 1 ) %]
                     </select>
                 </li>
-- 
2.25.1