Bug 25787 - Club holds can't be placed without modify_holds_priority permission
Summary: Club holds can't be placed without modify_holds_priority permission
Status: NEW
Alias: None
Product: Koha
Classification: Unclassified
Component: Hold requests (show other bugs)
Version: 21.11
Hardware: All All
: P5 - low normal
Assignee: Bugs List
QA Contact: Testopia
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-06-17 18:37 UTC by George Williams (NEKLS)
Modified: 2022-11-17 18:25 UTC (History)
6 users (show)

See Also:
Change sponsored?: ---
Patch complexity: ---
Documentation contact:
Documentation submission:
Text to go in the release notes:
Version(s) released in:
Circulation function:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description George Williams (NEKLS) 2020-06-17 18:37:23 UTC
Staff cannot place a request for a patron club if the staff member does not have modify_holds_priority set.
Comment 1 Christopher Brannon 2020-10-07 14:50:03 UTC
That's no good.  I've also found that staff can't see the button for the tools page if the clubs is the only tool they have permission too.  But that is a different bug.

This definitely needs to be fixed.  I don't like loop holes in permissions.
Comment 2 Jason Robb 2022-10-11 20:28:49 UTC
Still valid in 21.11.11. Technically place_holds is also required to get that far so it may be that the overarching reserveforothers permission is what's truly required to successfully place a club hold.

The ability to place club holds should really be its own separate user permission nested under the reserveforothers (or possibly clubs?) permission group.

In our club usage scenario, a mistaken club hold can lead to hundreds of a holds on a record which puts many items in motion to patrons that don't actually want them.

I wrote some JS to hide the "Clubs" tab at request.pl with exception for the select staff users in charge of placing club holds. It also changes the label wording from "Search patrons or clubs" to just "Search patrons".

  var loggedUser = $("#logged-in-info-full .loggedinusername").text();
  var clubbers = ["staffusername1", "staffusername2"]; //show for these users
  if ($.inArray(loggedUser, clubbers) == -1) {
    $('#circ_request [href="#holds_clubsearch_pane"]').closest('li').hide();
    $('#circ_request label:contains("Search patrons or clubs")').text("Search patrons");
  }