1 dojo.require('dijit.layout.ContentPane');
2 dojo.require('openils.User');
3 dojo.require('openils.Util');
4 dojo.require('openils.PermaCrud');
9 function updatePoState(po_info) {
10 var data = po_info[PO.id()];
19 dojo.byId("acq-po-view-id").innerHTML = PO.id();
20 dojo.byId("acq-po-view-name").innerHTML = PO.name();
21 dojo.byId("acq-po-view-total-li").innerHTML = PO.lineitem_count();
22 dojo.byId("acq-po-view-total-enc").innerHTML = PO.amount_encumbered();
23 dojo.byId("acq-po-view-total-spent").innerHTML = PO.amount_spent();
24 dojo.byId("acq-po-view-state").innerHTML = PO.state(); // TODO i18n
26 if(PO.state() == "pending") {
27 openils.Util.show("acq-po-activate");
28 if (PO.lineitem_count() > 1)
29 openils.Util.show("acq-po-split");
34 liTable = new AcqLiTable();
37 liTable.poUpdateCallback = updatePoState;
39 fieldmapper.standardRequest(
40 ['open-ils.acq', 'open-ils.acq.purchase_order.retrieve'],
42 params: [openils.User.authtoken, poId, {flesh_price_summary:true, flesh_lineitem_count:true}],
43 oncomplete: function(r) {
44 PO = openils.Util.readResponse(r); /* save PO globally */
50 fieldmapper.standardRequest(
51 ['open-ils.acq', 'open-ils.acq.lineitem.search'],
53 params: [openils.User.authtoken, {purchase_order:poId}, {flesh_attrs:true, flesh_notes:true}],
54 onresponse: function(r) {
56 liTable.addLineitem(openils.Util.readResponse(r));
62 function activatePo() {
63 progressDialog.show(true);
65 fieldmapper.standardRequest(
66 ['open-ils.acq', 'open-ils.acq.purchase_order.activate'],
68 params: [openils.User.authtoken, PO.id()],
69 oncomplete : function() {
70 location.href = location.href;
75 progressDialog.hide();
80 progressDialog.show(true);
83 fieldmapper.standardRequest(
84 ['open-ils.acq', 'open-ils.acq.purchase_order.split_by_lineitems'],
86 params: [openils.User.authtoken, PO.id()],
87 onresponse : function(r) {
88 list = openils.Util.readResponse(r);
90 oncomplete : function() {
91 progressDialog.hide();
93 location.href = oilsBasePath + '/eg/acq/po/search/' +
100 progressDialog.hide();
105 function updatePoName() {
106 var value = prompt('Enter new purchase order name:', PO.name()); // TODO i18n
107 if(!value || value == PO.name()) return;
109 var pcrud = new openils.PermaCrud();
111 oncomplete : function(r, cudResults) {
112 var stat = cudResults[0];
114 dojo.byId('acq-po-view-name').innerHTML = value;
119 openils.Util.addOnLoad(init);