]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/web/js/ui/default/acq/po/view_po.js
repaired accidentally removed model def.
[working/Evergreen.git] / Open-ILS / web / js / ui / default / acq / po / view_po.js
1 dojo.require("dijit.Dialog");
2 dojo.require('dijit.form.FilteringSelect');
3 dojo.require('dijit.layout.TabContainer');
4 dojo.require('dijit.layout.ContentPane');
5 dojo.require('dojox.grid.DataGrid');
6 dojo.require('dojo.data.ItemFileReadStore');
7 dojo.require('openils.acq.PO');
8 dojo.require('openils.Event');
9 dojo.require('openils.User');
10 dojo.require('openils.Util');
11 dojo.require('fieldmapper.OrgUtils');
12 dojo.require('openils.acq.Provider');
13 dojo.require('openils.acq.Lineitem');
14 dojo.require('dojo.date.locale');
15 dojo.require('dojo.date.stamp');
16
17 var PO = null;
18 var lineitems = [];
19
20 function getOrgInfo(rowIndex, item) {
21     if(!item) return '';
22     var data = this.grid.store.getValue(item , 'ordering_agency')
23     return fieldmapper.aou.findOrgUnit(data).shortname();
24 }
25
26 function getProvider(rowIndex, item) {
27     if(!item) return '';
28     var data = this.grid.store.getValue(item, 'provider');
29     return openils.acq.Provider.retrieve(data).code();
30 }
31
32 function getPOOwner(rowIndex, item) {
33     if(!item) return '';
34     var data = this.grid.store.getValue(item, 'owner');
35     return new openils.User({id:data}).user.usrname();
36 }
37
38 function getDateTimeField(rowIndex, item) {
39     if(!item) return '';
40     var data = this.grid.store.getValue(item, this.field);
41     var date = dojo.date.stamp.fromISOString(data);
42     return dojo.date.locale.format(date, {formatLength:'medium'});
43 }
44
45 function loadPOGrid() {
46     if(!PO) return '';
47     var store = new dojo.data.ItemFileReadStore({data:acqpo.toStoreData([PO])});
48     poGrid.setStore(store);
49     poGrid.render();
50 }
51
52 function loadLIGrid() {
53     if(liGrid.isLoaded) return;
54
55     function load(po) {
56         lineitems = po.lineitems();
57         var store = new dojo.data.ItemFileReadStore({data:jub.toStoreData(lineitems)});
58         var model = new dojox.grid.data.DojoData(
59             null, store, {rowsPerPage: 20, clientSort: true, query:{id:'*'}}); 
60         JUBGrid.populate(liGrid, model, lineitems)
61     }
62
63     openils.acq.PO.retrieve(poId, load, {flesh_lineitems:1, clear_marc:1});
64     liGrid.isLoaded = true;
65 }
66
67 function loadPage() {
68     fetchPO();
69 }
70
71 function fetchPO() {
72     openils.acq.PO.retrieve(poId, 
73         function(po) {
74             PO = po;
75             loadPOGrid();
76         },
77         {flesh_lineitem_count:1}
78     );
79 }
80
81 openils.Util.addOnLoad(loadPage);