From: Bill Erickson Date: Tue, 6 Dec 2011 18:50:29 +0000 (-0500) Subject: acq vandelay : UI X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=e4e2b093eee79e5a9faba6bd5bbaab4318224d79;p=evergreen%2Fequinox.git acq vandelay : UI Signed-off-by: Bill Erickson --- diff --git a/Open-ILS/examples/fm_IDL.xml b/Open-ILS/examples/fm_IDL.xml index 633d6693ca..fcecae27b3 100644 --- a/Open-ILS/examples/fm_IDL.xml +++ b/Open-ILS/examples/fm_IDL.xml @@ -533,7 +533,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA - + diff --git a/Open-ILS/src/templates/acq/common/vlagent.tt2 b/Open-ILS/src/templates/acq/common/vlagent.tt2 new file mode 100644 index 0000000000..ee5890b92d --- /dev/null +++ b/Open-ILS/src/templates/acq/common/vlagent.tt2 @@ -0,0 +1,45 @@ + + [% l('Upload to Queue') %] +
+ + [% l('Or create a new queue') %] + + + + + [% l('Record Match Set') %] +
+ + + [% l('Merge Profile') %] +
+ + + [% l('Import Non-Matching Records') %] + + [% l('Record Source') %]
+ + + [% l('Merge On Exact Match (901c)') %] + + + + [% l('Merge On Single Match') %] + + + + [% l('Merge On Best Match') %] + + + + [% l('Best/Single Match Minimum Quality Ratio') %] + + + [% l('New Record Quality / Quality of Best Match') %] + + + + [% l('Insufficient Quality Fall-Through Profile') %] +
+ + diff --git a/Open-ILS/src/templates/acq/picklist/upload.tt2 b/Open-ILS/src/templates/acq/picklist/upload.tt2 index 31b76204d9..742133fcad 100644 --- a/Open-ILS/src/templates/acq/picklist/upload.tt2 +++ b/Open-ILS/src/templates/acq/picklist/upload.tt2 @@ -8,20 +8,13 @@ Create Purchase Order - + Activate Purchase Order - - - - - - Load Bibs and Items into the ILS - - + @@ -38,15 +31,19 @@ + +
+ [% INCLUDE 'acq/common/vlagent.tt2' %] +
+ - Records File - - - - - + + [% l('File to Upload:') %] + + + @@ -60,6 +57,10 @@ + + + + @@ -72,14 +73,10 @@ - + - - - - @@ -88,10 +85,12 @@ +
[% l('Vandelay Records Queued') %]0
Lineitems Processed 0
0
Bib Records Imported[% l('Bib Records Merged/Created') %] 0
Bib Records Indexed0
Copies Created 0
Upload Complete!
View Purchase Order
View Selection List
+ [% END %] diff --git a/Open-ILS/web/js/ui/default/acq/common/vlagent.js b/Open-ILS/web/js/ui/default/acq/common/vlagent.js new file mode 100644 index 0000000000..565d4b9720 --- /dev/null +++ b/Open-ILS/web/js/ui/default/acq/common/vlagent.js @@ -0,0 +1,55 @@ +dojo.require('openils.widget.AutoFieldWidget'); + +function VLAgent(args) { + args = args || {}; + for (var key in args) { + this[key] = args[key]; + } + + this.widgets = [ + {key : 'import_no_match'}, + {key : 'auto_overlay_exact'}, + {key : 'auto_overlay_1match'}, + {key : 'auto_overlay_best_match'}, + {key : 'match_quality_ratio'}, + {key : 'queue_name'}, + {key : 'match_set', cls : 'vms'}, + {key : 'bib_source', cls : 'cbs'}, + {key : 'merge_profile', cls : 'vmp'}, + {key : 'fall_through_merge_profile', cls : 'vmp'}, + {key : 'existing_queue', cls : 'vbq'} + ]; + + this.init = function() { + var self = this; + + dojo.forEach(this.widgets, + function(widg) { + if (widg.cls) { // selectors + + new openils.widget.AutoFieldWidget({ + fmClass : widg.cls, + selfReference : true, + orgLimitPerms : [self.limitPerm || 'CREATE_PURCHASE_ORDER'], + parentNode : dojo.byId('acq_vl:' + widg.key) + }).build(function(dijit) { + widg.dijit = dijit; + }); + + } else { // bools + widg.dijit = dijit.byId('acq_vl:' + widg.key); + } + } + ); + } + + this.values = function() { + var values = {}; + dojo.forEach(this.widgets, + function(widg) { + values[widg.key] = widg.dijit.attr('value'); + } + ); + return values; + } +} 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 62a7145a66..eb1bb50a1c 100644 --- a/Open-ILS/web/js/ui/default/acq/picklist/upload.js +++ b/Open-ILS/web/js/ui/default/acq/picklist/upload.js @@ -13,6 +13,7 @@ dojo.require('openils.acq.Picklist'); var VANDELAY_URL = '/vandelay-upload'; var providerWidget; var orderAgencyWidget; +var vlAgent; function init() { dojo.byId('acq-pl-upload-ses').value = openils.User.authtoken; @@ -35,6 +36,9 @@ function init() { function(w) { orderAgencyWidget = w } ); + vlAgent = new VLAgent(); + vlAgent.init(); + fieldmapper.standardRequest( ['open-ils.acq', 'open-ils.acq.picklist.user.retrieve.atomic'], { async: true, @@ -79,11 +83,6 @@ function acqSendUploadForm(args) { method: "post", handleAs: "html", form: dojo.byId('acq-pl-upload-form'), - content : { - picklist : args.picklist, - provider : providerWidget.attr('value'), - ordering_agency : orderAgencyWidget.attr('value') - }, handle: function(data, ioArgs){ acqHandlePostUpload(data.documentElement.textContent); } @@ -92,17 +91,36 @@ function acqSendUploadForm(args) { function acqHandlePostUpload(key) { + + var args = { + picklist : acqPlUploadPlSelector.attr('value'), + provider : providerWidget.attr('value'), + ordering_agency : orderAgencyWidget.attr('value'), + create_po : acqPlUploadCreatePo.attr('value'), + activate_po : acqPlUploadActivatePo.attr('value'), + vandelay : vlAgent.values() + }; + fieldmapper.standardRequest( ['open-ils.acq', 'open-ils.acq.process_upload_records'], { async: true, - params: [openils.User.authtoken, key], + params: [openils.User.authtoken, key, args], onresponse : function(r) { var resp = openils.Util.readResponse(r); console.log(js2JSON(resp)); if(!resp) return; + + dojo.byId('acq-pl-upload-vqbr-processed').innerHTML = resp.vqbr; + dojo.byId('acq-pl-upload-li-processed').innerHTML = resp.li; + dojo.byId('acq-pl-upload-lid-processed').innerHTML = resp.lid; + dojo.byId('acq-pl-upload-debits-processed').innerHTML = resp.debits_accrued; + dojo.byId('acq-pl-upload-bibs-processed').innerHTML = resp.bibs; + dojo.byId('acq-pl-upload-copies-processed').innerHTML = resp.copies; + if(resp.complete) { openils.Util.hide('acq-pl-upload-complete-pl'); openils.Util.hide('acq-pl-upload-complete-po'); + openils.Util.hide('acq-pl-upload-complete-q'); openils.Util.hide('acq-pl-upload-progress-bar'); openils.Util.show('acq-pl-upload-complete'); @@ -118,13 +136,12 @@ function acqHandlePostUpload(key) { 'href', oilsBasePath + '/acq/po/view/' + resp.purchase_order.id()); } - } else { - dojo.byId('acq-pl-upload-li-processed').innerHTML = resp.li; - dojo.byId('acq-pl-upload-lid-processed').innerHTML = resp.lid; - dojo.byId('acq-pl-upload-debits-processed').innerHTML = resp.debits_accrued; - dojo.byId('acq-pl-upload-bibs-processed').innerHTML = resp.bibs; - dojo.byId('acq-pl-upload-indexed-processed').innerHTML = resp.indexed; - dojo.byId('acq-pl-upload-copies-processed').innerHTML = resp.copies; + if (resp.queue) { + link = dojo.byId('acq-pl-upload-complete-q'); + openils.Util.show(link); + link.setAttribute('href', oilsBasePath + '/vandelay/vandelay?qtype=bib&qid=' + resp.queue.id()); + link.innerHTML = resp.queue.name(); + } } }, }