From 18e1e5c83d58db4f6b0bf912de9269bdb78766ea Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Wed, 17 Jul 2019 11:23:46 -0400 Subject: [PATCH] LP1712861 Patron holds wide_holds migration repairs * Update order_by clauses to match supported behavior of wide-holds API. * Fetch canceled holds display org settings in the initial batch to reduce API call count. * Repaired missing if() block {} wrappers. * Avoid setting limits/filters based on undefined values. * Avoid use of $scope variables when not needed. * Remove debug console.log entry. Signed-off-by: Bill Erickson Signed-off-by: Chris Sharp --- .../web/js/ui/default/staff/circ/patron/app.js | 4 ++- .../web/js/ui/default/staff/circ/patron/holds.js | 41 ++++++++++++---------- 2 files changed, 26 insertions(+), 19 deletions(-) diff --git a/Open-ILS/web/js/ui/default/staff/circ/patron/app.js b/Open-ILS/web/js/ui/default/staff/circ/patron/app.js index a886195050..7478c9f23f 100644 --- a/Open-ILS/web/js/ui/default/staff/circ/patron/app.js +++ b/Open-ILS/web/js/ui/default/staff/circ/patron/app.js @@ -38,7 +38,9 @@ angular.module('egPatronApp', ['ngRoute', 'ui.bootstrap', 'egUserBucketMod', 'circ.patron_expires_soon_warning', 'ui.circ.items_out.lost', 'ui.circ.items_out.longoverdue', - 'ui.circ.items_out.claimsreturned' + 'ui.circ.items_out.claimsreturned', + 'circ.holds.canceled.display_count', + 'circ.holds.canceled.display_age' ]).then(function(settings) { // local settings are cached within egOrg. Caching them // again in egEnv just simplifies the syntax for access. diff --git a/Open-ILS/web/js/ui/default/staff/circ/patron/holds.js b/Open-ILS/web/js/ui/default/staff/circ/patron/holds.js index 85b66b4768..85e0d51228 100644 --- a/Open-ILS/web/js/ui/default/staff/circ/patron/holds.js +++ b/Open-ILS/web/js/ui/default/staff/circ/patron/holds.js @@ -52,16 +52,19 @@ function($scope, $q, $routeParams, egCore, egUser, patronSvc, egProgressDia var provider = egGridDataProvider.instance({}); $scope.gridDataProvider = provider; + var canceled_display_count; + var canceled_display_age; egCore.org.settings(['circ.holds.canceled.display_count']).then(function(set) { - if (set && set['circ.holds.canceled.display_count']) - $scope.canceled_display_count = set['circ.holds.canceled.display_count']; + if (set && set['circ.holds.canceled.display_count'] !== null /* could be 0 */) + canceled_display_count = set['circ.holds.canceled.display_count']; }); egCore.org.settings(['circ.holds.canceled.display_age']).then(function(set) { - if (set && set['circ.holds.canceled.display_age']) + if (set && set['circ.holds.canceled.display_age']) { var d = new Date(); - console.log(set['circ.holds.canceled.display_age']); - d.setSeconds(d.getSeconds() - egCore.date.intervalToSeconds(set['circ.holds.canceled.display_age'])); - $scope.canceled_display_age = d.toISOString(); + d.setSeconds(d.getSeconds() - + egCore.date.intervalToSeconds(set['circ.holds.canceled.display_age'])); + canceled_display_age = d.toISOString(); + } }); patronSvc.hold_ids = []; @@ -80,23 +83,25 @@ function($scope, $q, $routeParams, egCore, egUser, patronSvc, egProgressDia fulfillment_time : null }; var order_by = []; - var limit; + var limit = null; if ($scope.holds_display == 'alt') { - restrictions.cancel_time = { - not: null, - greater_than: $scope.canceled_display_age - }; - order_by = [{cancel_time : {not: null}}]; - limit = parseInt($scope.canceled_display_count); + restrictions.cancel_time = {not: null}; + if (canceled_display_age) { + restrictions.cancel_time.greater_than = canceled_display_age; + } + order_by = [{cancel_time : {dir: 'desc'}}]; + if (canceled_display_count !== null) { // could be 0 + limit = parseInt(canceled_display_count); + } } else { restrictions.cancel_time = null; order_by = [ - {pickup_lib: {not: 'current_shelf_lib'}}, - {shelf_time: {not: null}}, - {frozen: {not: null}}, - {request_time: {not : null}}], - limit = null; + {clear_me: {dir: 'desc'}}, // true first + {shelf_time: {}}, // oldest first + {frozen: {}}, // false first + {request_time: {}} // oldest first + ]; } egProgressDialog.open({max : 1, value : 0}); -- 2.11.0