]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/web/js/ui/default/acq/po/search.js
Merging acq-experiment to trunk, since rel_1_4 has been branched.
[working/Evergreen.git] / Open-ILS / web / js / ui / default / acq / po / search.js
1 dojo.require('dijit.form.Form');
2 dojo.require('dijit.form.Button');
3 dojo.require('dijit.form.FilteringSelect');
4 dojo.require('dijit.form.NumberTextBox');
5 dojo.require('dojox.grid.Grid');
6 dojo.require('openils.acq.Provider');
7 dojo.require('fieldmapper.OrgUtils');
8 dojo.require('dojo.date.locale');
9 dojo.require('dojo.date.stamp');
10 dojo.require('openils.User');
11 dojo.require('openils.Util');
12 dojo.require('openils.widget.OrgUnitFilteringSelect');
13
14 function getOrgInfo(rowIndex) {
15     data = poGrid.model.getRow(rowIndex);
16     if(!data) return;
17     return fieldmapper.aou.findOrgUnit(data.owner).shortname();
18 }
19
20 function getProvider(rowIndex) {
21     data = poGrid.model.getRow(rowIndex);
22     if(!data) return;
23     return openils.acq.Provider.retrieve(data.provider).name();
24 }
25
26 function getPOOwner(rowIndex) {
27     data = poGrid.model.getRow(rowIndex);
28     if(!data) return;
29     return new openils.User({id:data.owner}).user.usrname();
30 }
31
32 function getDateTimeField(rowIndex) {
33     data = poGrid.model.getRow(rowIndex);
34     if(!data) return;
35     var date = dojo.date.stamp.fromISOString(data[this.field]);
36     return dojo.date.locale.format(date, {formatLength:'medium'});
37 }
38
39 function doSearch(fields) {
40     var itemList = [];
41     if(!isNaN(fields.id)) 
42         fields = {id:fields.id};
43     else
44         delete fields.id;
45
46     fieldmapper.standardRequest(
47         ['open-ils.acq', 'open-ils.acq.purchase_order.search'],
48         {
49             async:1,
50             params: [openils.User.authtoken, fields],
51             onresponse : function(r) {
52                 var msg = r.recv();
53                 if(msg) itemList.push(msg.content());
54             },
55             oncomplete : function(r) {
56                 dojo.style('po-grid', 'visibility', 'visible');
57                 var store = new dojo.data.ItemFileReadStore({data:acqpo.toStoreData(itemList)});
58                 var model = new dojox.grid.data.DojoData(null, store,
59                     {rowsPerPage: 20, clientSort: true, query:{id:'*'}});
60                 poGrid.setModel(model);
61                 poGrid.update();
62             },
63         }
64     );
65 }
66
67 function loadForm() {
68
69     /* load the providers */
70     openils.acq.Provider.createStore(
71         function(store) {
72             providerSelector.store = 
73                 new dojo.data.ItemFileReadStore({data:store});
74         },
75         'MANAGE_PROVIDER'
76     );
77
78     new openils.User().buildPermOrgSelector('VIEW_PURCHASE_ORDER', poSearchOrderingAgencySelect);
79 }
80
81 openils.Util.addOnLoad(loadForm);