dojo.require('dojox.grid.DataGrid');
+dojo.require('dojo.data.ItemFileWriteStore');
dojo.require('dijit.Dialog');
dojo.require('dijit.form.Button');
dojo.require('dijit.form.TextBox');
dojo.require('openils.acq.Picklist');
dojo.require('openils.Util');
-var plList = [];
var listAll = false;
-function makeGridFromList() {
- var store = new dojo.data.ItemFileReadStore({data:acqpl.toStoreData(plList)});
- plListGrid.setStore(store);
- plListGrid.render();
-}
-
-
function loadGrid() {
- var method = 'open-ils.acq.picklist.user.retrieve.atomic';
+ var method = 'open-ils.acq.picklist.user.retrieve';
if(listAll)
method = method.replace(/user/, 'user.all');
+ var store = new dojo.data.ItemFileWriteStore({data:acqpl.toStoreData([])});
+ plListGrid.setStore(store);
+ plListGrid.render();
+
fieldmapper.standardRequest(
['open-ils.acq', method],
+
{ async: true,
params: [openils.User.authtoken,
{flesh_lineitem_count:1, flesh_username:1}],
- oncomplete: function(r) {
- var resp = r.recv().content();
- if(e = openils.Event.parse(resp))
- return alert(e);
- plList = resp;
- makeGridFromList();
+
+ onresponse : function(r) {
+ if(pl = openils.Util.readResponse(r))
+ store.newItem(acqpl.toStoreData([pl]).items[0]);
}
}
);
function createPL(fields) {
if(fields.name == '') return;
+
openils.acq.Picklist.create(fields,
+
function(plId) {
fieldmapper.standardRequest(
+
['open-ils.acq', 'open-ils.acq.picklist.retrieve'],
{ async: true,
params: [openils.User.authtoken, plId,
{flesh_lineitem_count:1, flesh_username:1}],
+
oncomplete: function(r) {
- var pl = r.recv().content();
- plList.push(pl);
- makeGridFromList();
+ if(pl = openils.Util.readResponse(r))
+ plListGrid.store.newItem(acqpl.toStoreData([pl]).items[0]);
}
}
);
var list = []
var selected = plListGrid.selection.getSelected();
for(var idx = 0; idx < selected.length; idx++) {
- var rowIdx = selected[idx];
- var id = plListGrid.model.getRow(rowIdx).id;
- for(var i = 0; i < plList.length; i++) {
- var pl = plList[i];
- if(pl.id() == id && pl.owner() == new openils.User().user.usrname()) {
- list.push(id);
- plList = (plList.slice(0, i) || []).concat(plList.slice(i+1, plList.length) || []);
- }
- }
+ var item = selected[idx];
+ list.push(item.id);
+ plListGrid.store.deleteItem(item);
}
- openils.acq.Picklist.deleteList(list, function() { makeGridFromList(); });
+ openils.acq.Picklist.deleteList(list);
}
openils.Util.addOnLoad(loadGrid);