]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/web/js/ui/default/acq/financial/list_funds.js
Merging acq-experiment to trunk, since rel_1_4 has been branched.
[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.Grid');
5
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) {
13     data = fundListGrid.model.getRow(rowIndex);
14     if(!data) return;
15     return fieldmapper.aou.findOrgUnit(data.org).shortname();
16 }
17
18 function getBalanceInfo(rowIndex) {
19     data = fundListGrid.model.getRow(rowIndex);
20     if(!data) return;
21     return new String(openils.acq.Fund.cache[data.id].summary().combined_balance);
22 }
23
24
25 function loadFundGrid() {
26     openils.acq.Fund.createStore(
27         function(storeData) {
28             var store = new dojo.data.ItemFileReadStore({data:storeData});
29             var model = new dojox.grid.data.DojoData(null, store, 
30                 {rowsPerPage: 20, clientSort: true, query:{id:'*'}});
31             fundListGrid.setModel(model);
32             fundListGrid.update();
33
34             var yearStore = {identifier:'year', name:'year', items:[]};
35
36             var added = [];
37             for(var i = 0; i < storeData.items.length; i++) {
38                 var year = storeData.items[i].year;
39                 if(added.indexOf(year) == -1) {
40                     yearStore.items.push({year:year});
41                     added.push(year);
42                 }
43             }
44             yearStore.items = yearStore.items.sort().reverse();
45             fundFilterYearSelect.store = new dojo.data.ItemFileReadStore({data:yearStore});
46             var today = new Date().getFullYear().toString();
47             fundFilterYearSelect.setValue((added.indexOf(today != -1)) ? today : added[0]);
48         }
49     );
50 }
51
52 function filterGrid() {
53     var year = fundFilterYearSelect.getValue();
54     if(year) 
55         fundListGrid.model.query = {year:year};
56     else
57         fundListGrid.model.query = {id:'*'};
58     fundListGrid.model.refresh();
59     fundListGrid.update();
60 }
61
62 openils.Util.addOnLoad(loadFundGrid);
63