dojo.require('dijit.ProgressBar');
dojo.require('dijit.form.Form');
dojo.require('dijit.form.TextBox');
+dojo.require('dijit.form.CheckBox');
dojo.require('dijit.form.FilteringSelect');
dojo.require('dijit.form.Button');
dojo.require("dijit.Dialog");
var recvCount = 0;
var user = new openils.User();
+var createAssetsSelected = false;
var lineitems = [];
JUBGrid.populate(liGrid, model, lineitems)
}
-function createPOFromLineitems() {
+function createPOFromLineitems(fields) {
var po = new acqpo()
po.provider(newPOProviderSelector.getValue());
+ createAssetsSelected = fields.create_assets;
// find the selected lineitems
var selected = liGrid.selection.getSelected();
var id = liGrid.model.getRow(rowIdx).id;
for(var i = 0; i < lineitems.length; i++) {
var li = lineitems[i];
- if(li.id() == id && !li.purchase_order() && li.state == 'approved')
+ if(li.id() == id && !li.purchase_order() && li.state() == 'approved')
selList.push(lineitems[i]);
}
}
openils.acq.PO.create(po,
function(poId) {
+ if(e = openils.Event.parse(poId)) {
+ alert(e);
+ return;
+ }
updateLiList(poId, selList);
}
);
_updateLiList(poId, selList, 0);
}
+function viewPO(poId) {
+ location.href = 'view/' + poId;
+}
+
function _updateLiList(poId, selList, idx) {
- if(idx >= selList.length)
- return location.href = 'view/' + poId;
+ if(idx >= selList.length) {
+ if(createAssetsSelected)
+ return createAssets(poId);
+ else
+ return viewPo(poId);
+ }
var li = selList[idx];
li.purchase_order(poId);
+ li.state('in-process');
new openils.acq.Lineitems({lineitem:li}).update(
function(stat) {
_updateLiList(poId, selList, ++idx);
}
);
}
+
+function createAssets(poId) {
+ fieldmapper.standardRequest(
+ ['open-ils.acq','open-ils.acq.purchase_order.assets.create'],
+ {
+ async: true,
+ params: [user.authtoken, poId],
+ oncomplete : function(r) {
+ if(e = openils.Event.parse(r.recv().content()))
+ alert(e);
+ else
+ viewPO(poId);
+ }
+ }
+ );
+}
dojo.addOnLoad(drawForm);
+