]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/web/js/ui/default/acq/financial/list_funds.js
5245ae4f010feb95a9d6541ebe958bf9fe0f17cc
[working/Evergreen.git] / Open-ILS / web / js / ui / default / acq / financial / list_funds.js
1 dojo.require("dijit.Dialog");
2 dojo.require("dijit.form.FilteringSelect");
3 dojo.require('dijit.form.Button');
4 dojo.require('dojox.grid.DataGrid');
5 dojo.require('dojo.data.ItemFileWriteStore');
6 dojo.require('openils.widget.OrgUnitFilteringSelect');
7 dojo.require('openils.acq.CurrencyType');
8 dojo.require('openils.Event');
9 dojo.require('openils.Util');
10 dojo.require('openils.acq.Fund');
11
12 function getOrgInfo(rowIndex, item) {
13      
14     if(!item) return ''; 
15     var owner = this.grid.store.getValue(item, 'org'); 
16     return fieldmapper.aou.findOrgUnit(owner).shortname();
17
18 }
19
20 function getBalanceInfo(rowIndex, item) {
21     if(!item) return '';
22     var data = this.grid.store.getValue( item, 'id');   
23     return new String(openils.acq.Fund.cache[data].summary().combined_balance);
24 }
25
26 function loadFundGrid() {
27     var store = new dojo.data.ItemFileWriteStore({data:acqf.initStoreData()});
28     fundListGrid.setStore(store);
29     fundListGrid.render();
30     var yearStore = {identifier:'year', name:'year', items:[]};
31     var yearsAdded = {}; /* don't duplicate the years in the selector */
32     
33     fieldmapper.standardRequest(
34        [ 'open-ils.acq', 'open-ils.acq.fund.org.retrieve'],
35        {    async: true,
36             params: [openils.User.authtoken, null, {flesh_summary:1}],
37             onresponse : function(r) {
38                 if(lf = openils.Util.readResponse(r)) {
39                     openils.acq.Fund.cache[lf.id()] = lf;
40                     store.newItem(acqf.toStoreItem(lf));
41                     var year = lf.year();
42                     if(!(year in yearsAdded)) {
43                         yearStore.items.push({year:year});
44                         yearsAdded[year] = 1;
45                     }
46                 }
47             },
48             oncomplete : function(r) {
49                 // sort the unique list of years and set the selector to "now" if possible
50                 yearStore.items = yearStore.items.sort().reverse();
51                 fundFilterYearSelect.store = new dojo.data.ItemFileReadStore({data:yearStore});
52                 var today = new Date().getFullYear().toString();
53                 if(today in yearsAdded)
54                     fundFilterYearSelect.setValue(today);
55             }
56         }
57     );
58 }
59
60 function filterGrid() {
61     var year = fundFilterYearSelect.getValue();
62     if(year) 
63         fundListGrid.query = {year:year};
64     else
65         fundListGrid.query = {id:'*'};
66         fundListGrid.update();
67 }
68
69 openils.Util.addOnLoad(loadFundGrid);
70