[open-ils-commits] [GIT] Evergreen ILS branch rel_3_5 updated. c1f351be0393dd92251c3ca2cf5cedc8ca22b78c

Evergreen Git git at git.evergreen-ils.org
Tue Jul 14 21:11:28 EDT 2020


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Evergreen ILS".

The branch, rel_3_5 has been updated
       via  c1f351be0393dd92251c3ca2cf5cedc8ca22b78c (commit)
       via  5b07204a98cd055f9945ded0540d96b0544b4943 (commit)
      from  d637584c4ac9d2b6d381b41e2f580cdb590cd329 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit c1f351be0393dd92251c3ca2cf5cedc8ca22b78c
Author: Mike Rylander <mrylander at gmail.com>
Date:   Wed Sep 12 09:14:58 2018 -0400

    LP#1712854: Disable all server-side sorting, but provide a stub for later, if we move that way
    
    Signed-off-by: Mike Rylander <mrylander at gmail.com>
    Signed-off-by: John Yorio <jyorio at equinoxinitiative.org>
    Signed-off-by: Jane Sandberg <sandbej at linnbenton.edu>

diff --git a/Open-ILS/src/templates/staff/circ/holds/t_shelf_list.tt2 b/Open-ILS/src/templates/staff/circ/holds/t_shelf_list.tt2
index 71d4abb12e..22a6e39d75 100644
--- a/Open-ILS/src/templates/staff/circ/holds/t_shelf_list.tt2
+++ b/Open-ILS/src/templates/staff/circ/holds/t_shelf_list.tt2
@@ -138,7 +138,7 @@
   <eg-grid-field label="[% l('Hold Note Count') %]" path='hold.note_count' hidden></eg-grid-field>
   <eg-grid-field label="[% l('User Display Name') %]" path='hold.usr_display_name' hidden></eg-grid-field>
   <eg-grid-field label="[% l('User Alias') %]" path='hold.usr_alias' hidden></eg-grid-field>
-  <eg-grid-field label="[% l('User Alias or Display Name') %]" path='hold.usr_alias_or_display_name' nonsortable hidden></eg-grid-field>
+  <eg-grid-field label="[% l('User Alias or Display Name') %]" path='hold.usr_alias_or_display_name' hidden></eg-grid-field>
   <eg-grid-field label="[% l('User Barcode') %]" path='hold.ucard_barcode' hidden></eg-grid-field>
   <eg-grid-field label="[% l('Requestor Username') %]" path='hold.rusr_usrname' hidden></eg-grid-field>
   <eg-grid-field label="[% l('Copy ID') %]" path='hold.cp_id' hidden></eg-grid-field>
diff --git a/Open-ILS/web/js/ui/default/staff/cat/catalog/app.js b/Open-ILS/web/js/ui/default/staff/cat/catalog/app.js
index 491b6ca10b..68f387e6e0 100644
--- a/Open-ILS/web/js/ui/default/staff/cat/catalog/app.js
+++ b/Open-ILS/web/js/ui/default/staff/cat/catalog/app.js
@@ -1803,7 +1803,9 @@ function($scope , $routeParams , $location , $window , $q , egCore , egHolds , e
         };
 
         var order_by = [{ request_time : null }];
-        if (provider.sort && provider.sort.length) {
+        // NOTE: Server sort is disabled for now.  See the comment on
+        // similar code in circ/holds/app.js for details.
+        if (false && provider.sort && provider.sort.length) {
             order_by = [];
             angular.forEach(provider.sort, function (c) {
                 if (!angular.isObject(c)) {
diff --git a/Open-ILS/web/js/ui/default/staff/circ/holds/app.js b/Open-ILS/web/js/ui/default/staff/circ/holds/app.js
index d73fda75ab..08701c206a 100644
--- a/Open-ILS/web/js/ui/default/staff/circ/holds/app.js
+++ b/Open-ILS/web/js/ui/default/staff/circ/holds/app.js
@@ -90,12 +90,44 @@ function($scope , $q , $routeParams , $window , $location , egCore , egHolds , e
         };
 
         var order_by = [{ shelf_expire_time : null }];
-        if (provider.sort && provider.sort.length) {
+
+        // NOTE: Server sorting is currently disabled entirely by the 
+        // first clause in this 'if'.   This is perfectly fine because
+        // clientsort always runs inside the arrayNotifier implementation
+        // in the egGrid code.   However, in order to retain the memory
+        // of sorting constraints placed on us by the current server-side
+        // code, an initial "cannot sort these" array and test is added
+        // here.  An alternate implementation might be to map fields to
+        // query positions, thus allowing positional ORDER BY clauses.
+        // With as many fields as the wide hold object has, this is
+        // non-trivial at the moment.
+        if (false && provider.sort && provider.sort.length) {
+            // A list of fields we can't sort on the server side.  That's ok, because
+            // the grid is marked clientsort, so it always re-sorts in the browser.
+            var cannot_sort = [
+                'relative_queue_position',
+                'default_estimated_wait',
+                'min_estimated_wait',
+                'potentials',
+                'other_holds',
+                'total_wait_time',
+                'notification_count',
+                'last_notification_time',
+                'is_staff_hold',
+                'copy_location_order_position',
+                'hold_status',
+                'clear_me',
+                'usr_alias_or_display_name',
+                'usr_display_name',
+                'usr_alias_or_first_given_name'
+            ];
+
             order_by = [];
             angular.forEach(provider.sort, function (c) {
                 if (!angular.isObject(c)) {
                     if (c.match(/^hold\./)) {
                         var i = c.replace('hold.','');
+                        if (cannot_sort.includes(i)) return;
                         var ob = {};
                         ob[i] = null;
                         order_by.push(ob);
@@ -105,6 +137,7 @@ function($scope , $q , $routeParams , $window , $location , egCore , egHolds , e
                     var direction = c[i];
                     if (i.match(/^hold\./)) {
                         i = i.replace('hold.','');
+                        if (cannot_sort.includes(i)) return;
                         var ob = {}
                         ob[i] = {dir:direction};
                         order_by.push(ob);

commit 5b07204a98cd055f9945ded0540d96b0544b4943
Author: Mike Rylander <mrylander at gmail.com>
Date:   Tue Sep 11 17:36:30 2018 -0400

    LP#1712854: Add User Alias and User Alias or Display Name columns to shelf list
    
    Signed-off-by: Mike Rylander <mrylander at gmail.com>
    Signed-off-by: John Yorio <jyorio at equinoxinitiative.org>
    Signed-off-by: Jane Sandberg <sandbej at linnbenton.edu>

diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm
index 4662c23401..5c2583cc17 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm
@@ -2382,6 +2382,7 @@ SELECT  h.id, h.request_time, h.capture_time, h.fulfillment_time, h.checkin_time
     my %field_map = (
         record_id => 'r.bib_record',
         usr_id => 'u.id',
+        usr_alias => 'u.alias',
         cs_id => 'cs.id',
         cp_id => 'cp.id',
         cp_deleted => 'cp.deleted',
diff --git a/Open-ILS/src/templates/staff/circ/holds/t_shelf_list.tt2 b/Open-ILS/src/templates/staff/circ/holds/t_shelf_list.tt2
index c385a6f8a2..71d4abb12e 100644
--- a/Open-ILS/src/templates/staff/circ/holds/t_shelf_list.tt2
+++ b/Open-ILS/src/templates/staff/circ/holds/t_shelf_list.tt2
@@ -137,6 +137,8 @@
   <eg-grid-field label="[% l('Transit Cancel Time') %]" path='hold.tr_cancel_time' datatype="timestamp" hidden></eg-grid-field>
   <eg-grid-field label="[% l('Hold Note Count') %]" path='hold.note_count' hidden></eg-grid-field>
   <eg-grid-field label="[% l('User Display Name') %]" path='hold.usr_display_name' hidden></eg-grid-field>
+  <eg-grid-field label="[% l('User Alias') %]" path='hold.usr_alias' hidden></eg-grid-field>
+  <eg-grid-field label="[% l('User Alias or Display Name') %]" path='hold.usr_alias_or_display_name' nonsortable hidden></eg-grid-field>
   <eg-grid-field label="[% l('User Barcode') %]" path='hold.ucard_barcode' hidden></eg-grid-field>
   <eg-grid-field label="[% l('Requestor Username') %]" path='hold.rusr_usrname' hidden></eg-grid-field>
   <eg-grid-field label="[% l('Copy ID') %]" path='hold.cp_id' hidden></eg-grid-field>

-----------------------------------------------------------------------

Summary of changes:
 .../Application/Storage/Publisher/action.pm        |  1 +
 .../templates/staff/circ/holds/t_shelf_list.tt2    |  2 ++
 .../web/js/ui/default/staff/cat/catalog/app.js     |  4 ++-
 Open-ILS/web/js/ui/default/staff/circ/holds/app.js | 35 +++++++++++++++++++++-
 4 files changed, 40 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
Evergreen ILS


More information about the open-ils-commits mailing list