From a2b1de915ed98cc891cde4aae6c366f497010550 Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Thu, 8 Dec 2011 14:11:59 -0500 Subject: [PATCH] acq vandelay : UI - integrate vlagent into PO activation Signed-off-by: Bill Erickson --- Open-ILS/web/js/ui/default/acq/common/li_table.js | 12 +++++++----- Open-ILS/web/js/ui/default/acq/picklist/upload.js | 4 ++-- Open-ILS/web/js/ui/default/acq/po/view_po.js | 17 +++++++++++++++++ 3 files changed, 26 insertions(+), 7 deletions(-) diff --git a/Open-ILS/web/js/ui/default/acq/common/li_table.js b/Open-ILS/web/js/ui/default/acq/common/li_table.js index 841dbe1685..695f40ad77 100644 --- a/Open-ILS/web/js/ui/default/acq/common/li_table.js +++ b/Open-ILS/web/js/ui/default/acq/common/li_table.js @@ -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); } ); } diff --git a/Open-ILS/web/js/ui/default/acq/picklist/upload.js b/Open-ILS/web/js/ui/default/acq/picklist/upload.js index 9d44e0ddf6..aba5bc271d 100644 --- a/Open-ILS/web/js/ui/default/acq/picklist/upload.js +++ b/Open-ILS/web/js/ui/default/acq/picklist/upload.js @@ -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'); diff --git a/Open-ILS/web/js/ui/default/acq/po/view_po.js b/Open-ILS/web/js/ui/default/acq/po/view_po.js index 8e510f956e..6c08ce1263 100644 --- a/Open-ILS/web/js/ui/default/acq/po/view_po.js +++ b/Open-ILS/web/js/ui/default/acq/po/view_po.js @@ -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( -- 2.11.0