From 53af6ea8afdf40c0dd033c2e6dfd55a53af85938 Mon Sep 17 00:00:00 2001 From: Daniel Pearl Date: Wed, 13 Mar 2019 10:07:17 -0400 Subject: [PATCH] LP1787636: Sort Libraries without Holdings In Holdings View Empty libraries in holdings view are listed at the end of the library list instead of integrated within the list. This patch sorts them within the list. Signed-off-by: Daniel Pearl Signed-off-by: Jason Stephenson Signed-off-by: Chris Sharp --- .../src/templates/staff/cat/catalog/t_holdings.tt2 | 2 +- .../js/ui/default/staff/cat/services/holdings.js | 71 +++++++++++----------- 2 files changed, 38 insertions(+), 35 deletions(-) diff --git a/Open-ILS/src/templates/staff/cat/catalog/t_holdings.tt2 b/Open-ILS/src/templates/staff/cat/catalog/t_holdings.tt2 index 58a1abc84a..0ca2a88bf6 100644 --- a/Open-ILS/src/templates/staff/cat/catalog/t_holdings.tt2 +++ b/Open-ILS/src/templates/staff/cat/catalog/t_holdings.tt2 @@ -1,7 +1,7 @@
-
+
[% l('Show holdings at or below') %] diff --git a/Open-ILS/web/js/ui/default/staff/cat/services/holdings.js b/Open-ILS/web/js/ui/default/staff/cat/services/holdings.js index d78c049bc3..2b19821805 100644 --- a/Open-ILS/web/js/ui/default/staff/cat/services/holdings.js +++ b/Open-ILS/web/js/ui/default/staff/cat/services/holdings.js @@ -87,6 +87,43 @@ function(egCore , $q) { } }); + if (empty_org) { + + var empty_org_list = []; + angular.forEach(svc.org_use_map,function(v,k){ + if (v == 0) empty_org_list.push(k); + }); + + angular.forEach(empty_org_list, function (oid) { + var owner = egCore.org.get(oid); + if (owner.ou_type().can_have_vols() != 't') return; + + var owner_list = []; + while (owner.parent_ou()) { // we're going to skip the top of the tree... + owner_list.unshift(owner.shortname()); + owner = egCore.org.get(owner.parent_ou()); + } + + var owner_label = owner_list.join(' ... '); + + svc.copies.push({ + index : index++, + id_list : [], + call_number: { label : '' }, + barcode : '', + owner_id : oid, + owner_list : owner_list, + owner_label: owner_label, + copy_count : 0, + cn_count : 0, + copy_alert_count : 0 + }); + }); + } + + svc.ongoing = false; + + svc.copies = svc.copies.sort( function (a, b) { function compare_array (x, y, i) { @@ -255,40 +292,6 @@ function(egCore , $q) { } } - if (empty_org) { - - var empty_org_list = []; - angular.forEach(svc.org_use_map,function(v,k){ - if (v == 0) empty_org_list.push(k); - }); - - angular.forEach(empty_org_list, function (oid) { - var owner = egCore.org.get(oid); - if (owner.ou_type().can_have_vols() != 't') return; - - var owner_list = []; - while (owner.parent_ou()) { // we're going to skip the top of the tree... - owner_list.unshift(owner.shortname()); - owner = egCore.org.get(owner.parent_ou()); - } - - var owner_label = owner_list.join(' ... '); - - new_list.push({ - index : index++, - id_list : [], - call_number: { label : '' }, - barcode : '', - owner_id : oid, - owner_list : owner_list, - owner_label: owner_label, - copy_count : 0, - cn_count : 0, - copy_alert_count : 0 - }); - }); - } - svc.copies = new_list; svc.ongoing = false; }, -- 2.11.0