acq vandelay : UI - integrate vlagent into PO activation
authorBill Erickson <berick@esilibrary.com>
Thu, 8 Dec 2011 19:11:59 +0000 (14:11 -0500)
committerBill Erickson <berick@esilibrary.com>
Fri, 6 Jan 2012 15:05:32 +0000 (10:05 -0500)
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Open-ILS/web/js/ui/default/acq/common/li_table.js
Open-ILS/web/js/ui/default/acq/picklist/upload.js
Open-ILS/web/js/ui/default/acq/po/view_po.js

index 841dbe1..695f40a 100644 (file)
@@ -2090,16 +2090,16 @@ function AcqLiTable() {
         );
     };
 
-    this.showAssetCreator = function() {
+    this.showAssetCreator = function(onAssetsCreated) {
         this.show('asset-creator');
         if(!this.vlAgent.loaded)
             this.vlAgent.init();
         var self = this;
         dojo.connect(assetCreatorButton, 'onClick', 
-            function() { self.createAssets() });
+            function() { self.createAssets(onAssetsCreated) });
     }
 
-    this.createAssets = function() {
+    this.createAssets = function(onAssetsCreated) {
         if(!this.isPO) return;
         this.show('acq-lit-progress-numbers');
         var self = this;
@@ -2109,7 +2109,7 @@ function AcqLiTable() {
                 params: [this.authtoken, this.isPO, {vandelay : this.vlAgent.values()}],
                 onresponse: function(r) {
                     var resp = openils.Util.readResponse(r);
-                    self._updateProgressNumbers(resp, true);
+                    self._updateProgressNumbers(resp, !Boolean(onAssetsCreated), onAssetsCreated);
                 }
             }
         );
@@ -2346,11 +2346,13 @@ function AcqLiTable() {
         );
     }
 
-    this._updateProgressNumbers = function(resp, reloadOnComplete) {
+    this._updateProgressNumbers = function(resp, reloadOnComplete, onComplete) {
         this.vlAgent.handleResponse(resp,
             function(resp, res) {
                 if(reloadOnComplete)
                      location.href = location.href;
+                if (onComplete)
+                    onComplete(resp, res);
             }
         );
     }
index 9d44e0d..aba5bc2 100644 (file)
@@ -106,9 +106,9 @@ function acqHandlePostUpload(key) {
         {   async: true,
             params: [openils.User.authtoken, key, args],
             onresponse : function(r) {
-                var resp = openils.Util.readResponse(r);
 
-                vlAgent.handleResponse(resp,
+                vlAgent.handleResponse(
+                    openils.Util.readResponse(r),
                     function(resp, res) {
 
                         openils.Util.hide('acq-pl-upload-complete-pl');
index 8e510f9..6c08ce1 100644 (file)
@@ -513,6 +513,23 @@ function activatePo() {
             return false;
     }
 
+    // first, let's see if this PO has any LI's that need to be merged/imported
+    pcrud.search('jub', {purchase_order : poId, eg_bib_id : null}, {
+        id_list : true,
+        oncomplete : function(r) {
+            var resp = openils.Util.readResponse(r);
+            if (resp && resp.length) {
+                // kick off the merge/import process
+                liTable.showAssetCreator(activatePoStage2);
+            } else {
+                activatePoStage2();
+            }
+        }
+    });
+}
+
+function activatePoStage2() {
+
     var want_refresh = false;
     progressDialog.show(true);
     fieldmapper.standardRequest(