Bug 23048: Hide non-pickup branches from hold modification select
authorPasi Kallinen <pasi.kallinen@koha-suomi.fi>
Thu, 27 Jun 2019 11:03:02 +0000 (14:03 +0300)
committerMartin Renvoize <martin.renvoize@ptfs-europe.com>
Fri, 19 Jul 2019 12:49:38 +0000 (13:49 +0100)
When modifying holds in staff client via reserve/request.pl or
the holds-tab in members/moremember.pl, the pickup library dropdown
lists libraries not marked for pickup. Hide those branches,
unless the branch is marked as a pick-up branch for already
existing hold.

The reason for showing a non-pickup branch for the holds created
before the branch was marked as non-pickup: If the non-pickup branch
wasn't shown, the branch in those holds would get set to the first
branch in the select if the hold was modified.

Test plan:
1) Create a hold for a patron, to be picked up from a certain branch.
2) Edit the branch and another branch so they are no longer
   pickup locations.
3) Go to members/moremember.pl for that patron, check the Holds-tab
   Pickup library -drop down. It lists both of the non-pickup branches.
4) Go to reserve/request.pl for that biblio. The hold-table
   Pickup library -drop down lists both of the non-pickup branches.
5) Apply patch.
6) Repeat 3 & 4, drop down no longer lists the non-pickup branch, but
   should still list the branch where the hold was marked to be picked
   from.

Signed-off-by: Pasi Kallinen <pasi.kallinen@koha-suomi.fi>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

koha-tmpl/intranet-tmpl/prog/en/includes/holds_table.inc
koha-tmpl/intranet-tmpl/prog/js/holds.js

index a878658..0e0462d 100644 (file)
                         [% Branches.GetName(hold.branchcode) | html %] <input type="hidden" name="pickup" value="[% hold.branchcode | html %]" />
                     [% ELSE %]
                         <select name="pickup">
-                            [% PROCESS options_for_libraries libraries => Branches.all( selected => hold.branchcode ) %]
+                            [% PROCESS options_for_libraries libraries => Branches.all( selected => hold.branchcode, search_params => { "-or" => { pickup_location => 1, branchcode => hold.branchcode } } ) %]
                         </select>
                     [% END %]
                 [% END %]
index 8fe145e..9700257 100644 (file)
@@ -78,8 +78,9 @@ $(document).ready(function() {
 
                                         selectedbranch = " selected='selected' ";
                                         setbranch = CURRENT;
-                                    }
-                                    else{
+                                    } else if ( oObj.branches[i].pickup_location == 0 ) {
+                                        continue;
+                                    } else{
                                         selectedbranch = '';
                                         setbranch = '';
                                     }