Initial dev repository
[kcls-web.git] / js / ui / default / acq / receiving / process.js
1 dojo.require('fieldmapper.Fieldmapper');
2 dojo.require('dijit.ProgressBar');
3 dojo.require('dijit.form.Form');
4 dojo.require('dijit.form.TextBox');
5 dojo.require('dijit.form.CheckBox');
6 dojo.require('dijit.form.FilteringSelect');
7 dojo.require('dijit.form.Button');
8 dojo.require("dijit.Dialog");
9 dojo.require('openils.Event');
10 dojo.require('openils.Util');
11 dojo.require('openils.acq.Lineitem');
12 dojo.require('openils.widget.OrgUnitFilteringSelect');
13
14 var lineitems = [];
15
16 function drawForm() {
17     new openils.User().buildPermOrgSelector('VIEW_PURCHASE_ORDER', orderingAgencySelect);
18 }
19
20 var liReceived;
21 function doSearch(values) {
22
23     var search = {
24         attr_values : [values.identifier],
25         po_agencies : (values.ordering_agency) ? [values.ordering_agency] : null,
26         li_states : ['in-process']
27     };
28
29     options = {clear_marc:1, flesh_attrs:1};
30     liReceived = 0;
31     dojo.style('searchProgress', 'visibility', 'visible');
32
33     fieldmapper.standardRequest(
34         ['open-ils.acq', 'open-ils.acq.lineitem.search.ident'],
35         {   async: true,
36             params: [openils.User.authtoken, search, options],
37             onresponse: handleResult,
38             oncomplete: viewList
39         }
40     );
41 }
42
43 var searchLimit = 10; // ?
44 function handleResult(r) {
45     var result = r.recv().content();
46     searchProgress.update({maximum: searchLimit, progress: ++liReceived});
47     lineitems.push(result);
48 }
49
50 function viewList() {
51     dojo.style('searchProgress', 'visibility', 'hidden');
52     dojo.style('oils-acq-recv-grid', 'visibility', 'visible');
53     var store = new dojo.data.ItemFileWriteStore(
54         {data:jub.toStoreData(lineitems, null, 
55             {virtualFields:['estimated_price', 'actual_price']})});
56     var model = new dojox.grid.data.DojoData(
57         null, store, {rowsPerPage: 20, clientSort: true, query:{id:'*'}});
58     JUBGrid.populate(liGrid, model, lineitems);
59 }
60
61 openils.Util.addOnLoad(drawForm);
62