Bug 10917: allow staff to update hold pickup location without modify_holds_priority
authorKyle M Hall <kyle@bywatersolutions.com>
Thu, 19 Sep 2013 16:18:11 +0000 (12:18 -0400)
committerGalen Charlton <gmc@esilibrary.com>
Tue, 8 Oct 2013 14:23:07 +0000 (14:23 +0000)
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>
koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt

index 20853b3..7f7d05f 100644 (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>