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 Superlibrarians should be able to select any library, but non-superlibrarians should only be able to select their own library from the drop-down menu.
*** Bug 29944 has been marked as a duplicate of this bug. ***
Created attachment 129810 [details] [review] 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.
I couldn't place a hold : I've got this error : "Can't call method "notforloan" on an undefined value at /kohadevbox/koha/C4/Reserves.pm line 1445". And I can't run the cronjob build_holds_queue
> I couldn't place a hold : I've got this error : "Can't call method "notforloan" on an undefined value at /kohadevbox/koha/C4/Reserves.pm line 1445". Note: this is without the patch > And I can't run the cronjob build_holds_queue Note: this is from a sandbox (we are doing a test session with librarians ^^)
Maybe check if the items had holdingbranch, homebranch and itemtype correctly set, I believe the error could be that.
Created attachment 137133 [details] [review] 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 from all libraries. 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 -- Notice you see the hold of the patron from another branch under Patron column: "A patron from library <library name>" 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.
Created attachment 137170 [details] [review] 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 from all libraries. 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 -- Notice you see the hold of the patron from another branch under Patron column: "A patron from library <library name>" 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.
Signed-Off: Laura Escamilla (Laura.escamilla@bywatersolutions.com)
Created attachment 144402 [details] [review] 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 from all libraries. 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 -- Notice you see the hold of the patron from another branch under Patron column: "A patron from library <library name>" 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. Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Created attachment 144403 [details] [review] Bug 28975: (QA follow-up) Fix indentation, simplify if statement Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Pushed to master for 23.05. Nice work everyone, thanks!
Nice work everyone! Pushed to stable for 22.11.x
Backported to 22.05.x for upcoming 22.05.09
pushed to 21.11.x for 21.11.16
Not backported to 21.05.x