acq fund permacrud porting
authorBill Erickson <berick@esilibrary.com>
Thu, 22 Mar 2012 20:08:43 +0000 (16:08 -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 6da078a..276f89a 100644 (file)
@@ -31,6 +31,8 @@ var fundFleshFields = [
     'allocation_total'
 ];
 
+var adminPermOrgs = [];
+
 function initPage() {
     contextOrg = openils.User.user.ws_ou();
 
@@ -49,14 +51,26 @@ function initPage() {
     dojo.connect(refreshButton, 'onClick', function() { rolloverMode = false; gridDataLoader(); });
 
     new openils.User().buildPermOrgSelector(
-        'ADMIN_ACQ_FUND', contextOrgSelector, contextOrg, connect);
+        ['ADMIN_ACQ_FUND', 'VIEW_FUND'], 
+        contextOrgSelector, contextOrg, connect);
 
     dojo.byId('oils-acq-rollover-ctxt-org').innerHTML = 
         fieldmapper.aou.findOrgUnit(contextOrg).shortname();
 
     loadYearSelector();
     lfGrid.dataLoader = gridDataLoader;
-    loadFundGrid(new openils.CGI().param('year') || new Date().getFullYear().toString());
+
+    new openils.User().getPermOrgList(
+        'ADMIN_ACQ_FUND',
+        function(list) {
+            adminPermOrgs = list;
+            loadFundGrid(
+                new openils.CGI().param('year') 
+                    || new Date().getFullYear().toString());
+        },
+        true, 
+        true
+    );
 }
 
 function gridDataLoader() {
@@ -87,6 +101,15 @@ function loadFundGrid(year) {
             offset: lfGrid.displayOffset,
             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'
+            }],
+
             onresponse : function(r, obj) {
                 if(fund = openils.Util.readResponse(r)) {
                     fundFleshFields.forEach(function(ff) {
@@ -108,7 +131,7 @@ function loadYearSelector() {
     fieldmapper.standardRequest(
         ['open-ils.acq', 'open-ils.acq.fund.org.years.retrieve'],
         {   async : true,
-            params : [openils.User.authtoken],
+            params : [openils.User.authtoken, {}, {limit_perm : 'VIEW_FUND'}],
             oncomplete : function(r) {
 
                 var yearList = openils.Util.readResponse(r);