var poId = addToPoInput.attr('value');
if (!poId) return false;
- /* XXX we rely on a global liTable singleton. Ugh. */
- var liId = liTable.getSelected()[0].id();
+ var liId = dia._get_li();
console.log("adding li " + liId + " to PO " + poId);
fieldmapper.standardRequest(
['open-ils.acq',
'open-ils.acq.purchase_order.add_lineitem'],
- { async : true,
- params : [openils.User.authtoken, poId, liId],
- oncomplete : function(r) {
+ { async: true,
+ params: [openils.User.authtoken, poId, liId],
+ oncomplete: function(r) {
if ((r = openils.Util.readResponse(r))) {
if (r.success) {
location.href = oilsBasePath +
<table class='dijitTooltipTable'>
<tr>
<td><label>[% l('Enter the PO Name: ') %]</label></td>
- <td><input jsId='addToPoInput' name='addToPoInput' dojoType="dijit.form.TextBox" /></td>
+ <td>
+ <input jsId="addToPoInput" dojoType="openils.widget.PCrudAutocompleteBox" fmclass="acqpo" searchAttr="name" name="target_po" />
+
+ </td>
</tr>
<tr>
<td colspan='2' align='center'>
this._deleteLiList(self.getSelected());
break;
+ case 'add_to_order':
+ addToPoDialog._get_li = dojo.hitch(
+ this,
+ function() { return this.getSelected(false, null, true); }
+ );
+ addToPoDialog.show();
+ break;
+
case 'create_order':
this._loadPOSelect();
acqLitPoCreateDialog.show();
dojo.require("openils.CGI");
dojo.require("openils.PermaCrud");
dojo.require('openils.BibTemplate');
+dojo.require('openils.widget.PCrudAutocompleteBox');
dojo.require('fieldmapper.OrgUtils');
dojo.requireLocalization('openils.acq', 'acq');
prepareButtons();
fetchRelated();
+
+ /* addToPoDialog now requires this function be defined to tell it what
+ * lineitem IDs to add to the PO. Part of making it reusable in more
+ * places. */
+ addToPoDialog._get_li = function() {
+ return liTable.getSelected()[0].id();
+ };
}
openils.Util.addOnLoad(load);