From 0a8e9ff295f8a3d126b9c8a12c0e0e51e3a68b93 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 4223d43318..4e7106ed54 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 73c91a350b..aeae4b9751 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 @@ -88,6 +88,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) { @@ -277,40 +314,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