Bug 19469: (QA follow-up) Use hold item's itemtype if available, fix priority changing
authorKyle M Hall <kyle@bywatersolutions.com>
Tue, 17 Apr 2018 14:29:27 +0000 (14:29 +0000)
committerNick Clemens <nick@bywatersolutions.com>
Fri, 14 Sep 2018 17:50:19 +0000 (17:50 +0000)
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt
reserve/request.pl

index 11ef690..6b04892 100644 (file)
                             [% SET itemtypes = [] %]
 
                             [% FOREACH h IN biblioloo.reserveloop %]
-                                [% itemtypes.push( h.itemtype ) %]
+                                [% SET hold_itemtype = h.object.item.effective_itemtype || h.itemtype %]
+                                [% itemtypes_all.push( hold_itemtype ) %]
                             [% END %]
                             [% itemtypes = itemtypes.unique %]
 
                             [% FOREACH i IN itemtypes.sort %]
                                 [% SET holds_by_itemtype = [] %]
                                 [% FOREACH h IN biblioloo.reserveloop %]
-                                    [% IF h.itemtype == i %]
+                                    [% SET hold_itemtype = h.object.item.effective_itemtype || h.itemtype %]
+                                    [% IF hold_itemtype == i %]
                                         [% holds_by_itemtype.push( h ) %]
                                     [% END %]
                                 [% END %]
 
                                     [% SET itemtypes = [] %]
                                     [% FOREACH h IN holds_by_branch %]
-                                        [% itemtypes.push( h.itemtype ) %]
+                                        [% SET hold_itemtype = h.object.item.effective_itemtype || h.itemtype %]
+                                        [% itemtypes.push( hold_itemtype ) %]
                                     [% END %]
                                     [% itemtypes = itemtypes.unique %]
 
 
                                             [% SET holds_by_itemtype = [] %]
                                             [% FOREACH h IN holds_by_branch %]
-                                                [% IF h.itemtype == i %]
+                                                [% SET hold_itemtype = h.object.item.effective_itemtype || h.itemtype %]
+                                                [% IF hold_itemtype == i %]
                                                     [% holds_by_itemtype.push( h ) %]
                                                 [% END %]
                                             [% END %]
             }).change(function() {
                 var row = $(this).parents("tr:first");
                 var value = parseInt($(this).val());
+                var rowsCount = row.parent().children('tr').length - 1;
+                value = value > rowsCount ? rowsCount : value;
                 var after = row.parent().find("tr:nth-child("+(value+1)+")");
 
                 if (prev_rank_request > value) {
                 }
 
                 var next_priority = 1;
-                $("select[name=rank-request]").each(function () {
+                row.parent().find("select[name=rank-request]").each(function () {
                     $(this).val(next_priority);
                     next_priority++;
                 });
index fd28c07..3ebd873 100755 (executable)
@@ -590,6 +590,7 @@ foreach my $biblionumber (@biblionumbers) {
         $reserve{'reserve_id'}     = $res->reserve_id();
         $reserve{itemtype}         = $res->itemtype();
         $reserve{branchcode}       = $res->branchcode();
+        $reserve{object}           = $res;
 
         push( @reserveloop, \%reserve );
     }