acq fund permacrud porting
authorBill Erickson <berick@esilibrary.com>
Thu, 22 Mar 2012 15:56:00 +0000 (11:56 -0400)
committerBill Erickson <berick@esilibrary.com>
Fri, 23 Mar 2012 15:28:45 +0000 (11:28 -0400)
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Open-ILS/web/js/ui/default/acq/financial/list_funds.js

index 7da788d..f9759fc 100644 (file)
@@ -12,7 +12,7 @@ dojo.require('openils.Event');
 dojo.require('openils.Util');
 dojo.require('openils.User');
 dojo.require('openils.CGI');
-dojo.require('openils.acq.Fund');
+dojo.require('openils.PermaCrud');
 dojo.require('openils.widget.AutoGrid');
 dojo.require('openils.widget.ProgressDialog');
 dojo.require('fieldmapper.OrgUtils');
@@ -22,14 +22,18 @@ var localeStrings = dojo.i18n.getLocalization('openils.acq', 'acq');
 var contextOrg;
 var rolloverResponses;
 var rolloverMode = false;
+var fundFleshFields = [
+    'spent_balance', 
+    'combined_balance', 
+    'spent_total', 
+    'encumbrance_total', 
+    'debit_total', 
+    'allocation_total'
+];
 
 function getBalanceInfo(rowIndex, item) {
     if(!item) return '';
-    var id = this.grid.store.getValue( item, 'id');   
-    var fund = openils.acq.Fund.cache[id];
-    if(fund && fund.summary()) 
-        return fund.summary().combined_balance;
-    return 0;
+    return this.grid.store.getValue(item, this.field) || 0;
 }
 
 function initPage() {
@@ -80,27 +84,23 @@ function loadFundGrid(year) {
     openils.Util.hide('acq-fund-list-rollover-summary');
     year = year || fundFilterYearSelect.attr('value');
 
-    fieldmapper.standardRequest(
-       [ 'open-ils.acq', 'open-ils.acq.fund.org.retrieve'],
-       {    async: true,
-
-            params: [
-                openils.User.authtoken, 
-                {year : year, org : fieldmapper.aou.descendantNodeList(contextOrg, true)}, 
-                {
-                    flesh_summary:1, 
-                    limit: lfGrid.displayLimit,
-                    offset: lfGrid.displayOffset
-                }
-            ],
-
-            onresponse : function(r) {
-                if(lf = openils.Util.readResponse(r)) {
-                   openils.acq.Fund.cache[lf.id()] = lf;
-                   lfGrid.store.newItem(acqf.toStoreItem(lf));
+    var pcrud = new openils.PermaCrud();
+    pcrud.search('acqf', 
+        {   year : year, 
+            org : fieldmapper.aou.descendantNodeList(contextOrg, true) 
+        }, 
+        {   flesh : 1,  
+            flesh_fields : {acqf : fundFleshFields},
+            streaming : true,
+            onresponse : function(r, obj) {
+                if(fund = openils.Util.readResponse(r)) {
+                    fundFleshFields.forEach(function(ff) {
+                        field = fund[ff]();
+                        fund[ff](field ? field.amount() : '0');
+                    });
+                    lfGrid.store.newItem(acqf.toStoreItem(fund));
                 }
             },
-
             oncomplete : function(r) {
                 lfGrid.hideLoadProgressIndicator();
             }