acq vandelay : UI; asset creation during po creation - nEEDS TESTING
authorBill Erickson <berick@esilibrary.com>
Fri, 6 Jan 2012 18:57:39 +0000 (13:57 -0500)
committerBill Erickson <berick@esilibrary.com>
Fri, 6 Jan 2012 18:57:39 +0000 (13:57 -0500)
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Open-ILS/web/js/ui/default/acq/common/li_table.js

index 695f40a..a8ec47a 100644 (file)
@@ -2381,30 +2381,37 @@ function AcqLiTable() {
 
     this._createPOFromLineitems = function(fields, selected) {
         if (selected.length == 0) return;
+        var self = this;
 
-        this.show("acq-lit-progress-numbers");
         var po = new fieldmapper.acqpo();
         po.provider(this.createPoProviderSelector.attr("value"));
         po.ordering_agency(this.createPoAgencySelector.attr("value"));
         po.prepayment_required(fields.prepayment_required[0] ? true : false);
 
+        // if we're creating assets, delay the asset creation 
+        // until after the PO is created.  This will allow us to 
+        // use showAssetCreator() directly.
+
         fieldmapper.standardRequest(
             ["open-ils.acq", "open-ils.acq.purchase_order.create"],
             {   async: true,
                 params: [
                     openils.User.authtoken, 
-                    po, {
-                        lineitems : selected,
-                        create_assets : fields.create_assets[0],
-                    }
+                    po, {lineitems : selected}
                 ],
-
                 onresponse : function(r) {
                     var resp = openils.Util.readResponse(r);
-                    self._updateProgressNumbers(resp);
                     if (resp.complete) {
-                        location.href = oilsBasePath + "/acq/po/view/" +
-                            resp.purchase_order.id();
+                        // self.isPO is needed for showAssetCreator();
+                        self.isPO = resp.purchase_order.id(); 
+                        var redir = oilsBasePath + "/acq/po/view/" + self.isPO;
+                        if (fields.create_assets[0]) {
+                            self.showAssetCreator(
+                                function() {location.href = redir}
+                            );
+                        } else {
+                           location.href = redir;
+                        }
                     }
                 }
             }