+++ /dev/null
-dojo.require("openils.widget.EditDialog");
-dojo.require("openils.widget.EditPane");
-
-var editDialog;
-
-function toPoListing() {
- location.href = oilsBasePath + "/acq/search/unified?ca=po";
-}
-
-function toOnePo(id) {
- location.href = oilsBasePath + "/acq/po/view/" + id;
-}
-
-openils.Util.addOnLoad(
- function() {
- editDialog = new openils.widget.EditDialog({
- "editPane": new openils.widget.EditPane({
- "fmObject": new acqpo(),
- /* After realizing how many fields should be excluded from this
- * interface because users shouldn't set them arbitrarily,
- * it hardly seems like using these Edit widgets gives much
- * much advantage over a hardcoded interface. */
- "suppressFields": [
- "create_time", "edit_time", "editor", "order_date",
- "owner", "cancel_reason", "creator", "state", "name"
- ],
- "fieldOrder": ["ordering_agency", "provider"],
- "mode": "create",
- overrideWidgetArgs : {
- provider : { dijitArgs : { store_options : { base_filter : { active :"t" } } } }
- },
- "onSubmit": function(po) {
- fieldmapper.standardRequest(
- ["open-ils.acq", "open-ils.acq.purchase_order.create"],{
- "async": false,
- "params": [openils.User.authtoken, po],
- "onresponse": function(r) {
- toOnePo(
- openils.Util.readResponse(r).
- purchase_order.id()
- );
- }
- }
- );
- },
- "onCancel": function() {
- editDialog.hide();
- toPoListing();
- /* I'd rather do window.close() or xulG.close_tab(),
- * but neither of those seem to work here. */
- }
- })
- });
- editDialog.startup();
- editDialog.show();
- }
-);