Bug 10917: allow staff to update hold pickup location without modify_holds_priority

A librarian cannot modify a hold's pickup location unless he or she has
the permission modify_holds_priority. This appears to be a bug and not
by design. The reason the update fails is due to the priority not being
passed to ModReserve. The priority is not displayed when a librarian
does not have the modify_holds_priority permission.

Test Plan:
1) Remove the modify_holds_priority from your logged in user
   * User cannot be a superlibrarian
2) Attempt to change the pickup location for a hold
3) Note the change fails
4) Apply this patch
5) Repeat step 2
6) Note the change succeeds

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Template change only.
Passes all tests and QA script.

Tested:
- Confirmed that changing the pickup location is not
  possible in master without the modify_holds_priority
  permission
- Confirmed that the patch fixes the problem - pickup
  location can now be changed with and without the
  permission
- Pickup location can still not be changed, when
  IndependentBranches is activated

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This commit is contained in:
Kyle Hall 2013-09-19 12:18:11 -04:00 committed by Galen Charlton
parent b9c85431dd
commit e276bea3ee

View file

@ -600,17 +600,26 @@ function checkMultiHold() {
<input type="hidden" name="borrowernumber" value="[% reserveloo.borrowernumber %]" />
<input type="hidden" name="biblionumber" value="[% reserveloo.biblionumber %]" />
<select name="rank-request">
[% IF ( reserveloo.wait ) %]
[% IF ( reserveloo.intransit ) %]
<option value="T" selected="selected">In transit</option>
[% ELSE %]
<option value="W" selected="selected">Waiting</option>
[% END %]
[% END %]
[% IF ( CAN_user_reserveforothers_modify_holds_priority ) %][% FOREACH optionloo IN reserveloo.optionloop %]
[% IF ( optionloo.selected ) %]<option value="[% optionloo.num %]" selected="selected">[% optionloo.num %]</option>[% ELSE %]<option value="[% optionloo.num %]">[% optionloo.num %]</option>[% END %]
[% END %][% ELSE %]<option value=""></option>[% END %]
<option value="del">del</option>
[% IF ( reserveloo.wait ) %]
[% IF ( reserveloo.intransit ) %]
<option value="T" selected="selected">In transit</option>
[% ELSE %]
<option value="W" selected="selected">Waiting</option>
[% END %]
[% END %]
[% IF ( CAN_user_reserveforothers_modify_holds_priority ) %]
[% FOREACH optionloo IN reserveloo.optionloop %]
[% IF ( optionloo.selected ) %]
<option value="[% optionloo.num %]" selected="selected">[% optionloo.num %]</option>
[% ELSE %]
<option value="[% optionloo.num %]">[% optionloo.num %]</option>
[% END %]
[% END %]
[% ELSIF !reserveloo.wait %]
<option value="[% reserveloo.priority %]" selected="selected">[% reserveloo.priority %]</option>
[% END %]
<option value="del">del</option>
</select>
</td>