LP1183340 selectivly apply editable funds sorting
authorBill Erickson <berick@esilibrary.com>
Thu, 23 May 2013 13:11:25 +0000 (09:11 -0400)
committerDan Wells <dbw2@calvin.edu>
Mon, 3 Jun 2013 21:55:05 +0000 (17:55 -0400)
Avoid sorting editable funds to the front of the fund list when there
are no org units at which the user has the ADMIN_ACQ_FUND permission.
Otherwise, we are sorting on an empty 'IN' list in pcrud, which results
in an error.

Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Open-ILS/web/js/ui/default/acq/financial/list_funds.js

index abad41d..334de95 100644 (file)
@@ -116,22 +116,23 @@ function loadFundGrid(year) {
     year = year || fundFilterYearSelect.attr('value');
     cachedFunds = [];
 
+    var order_by = [{'class' : 'acqf', field : 'name'}];
+
+    if (adminPermOrgs.length) {
+        // sort funds I can edit to the front
+        order_by.unshift({   
+            'class' : 'acqf',
+            field : 'org',
+            compare : {'in' : adminPermOrgs},
+            direction : 'desc'
+        });
+    }
+
     lfGrid.loadAll(
-        {
+        {   
             flesh : 1,  
             flesh_fields : {acqf : fundFleshFields},
-            
-            // by default, sort funds I can edit to the front
-            order_by : [
-                {   'class' : 'acqf',
-                    field : 'org',
-                    compare : {'in' : adminPermOrgs},
-                    direction : 'desc'
-                },
-                {   'class' : 'acqf',
-                    field : 'name'
-                }
-            ]
+            order_by : order_by,
         }, {   
             year : year, 
             org : fieldmapper.aou.descendantNodeList(contextOrg, true)