From 6767c9dd703e3233006bdf7e2ce19bdab7401dc0 Mon Sep 17 00:00:00 2001 From: Daniel Pearl Date: Wed, 13 Mar 2019 10:07:17 -0400 Subject: [PATCH] LP178636: Empty libraries in holdings view are listed at the end of the library list instead of integrated within the list. Signed-off-by: Daniel Pearl --- .../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 b694d6bc6c..5e82592545 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 20ce815faf..17a72e10f6 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 @@ -78,6 +78,43 @@ function(egCore , $q) { function() { // finished if (p.cancel) return; + 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) { @@ -248,40 +285,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