From 44400a782b5d7ce029c7d64968a9b0d3b06021d9 Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Wed, 30 Nov 2011 17:12:16 -0500 Subject: [PATCH] ACQ Vandelay : PoC UI bits and pieces; next steps -> ui refactoring Signed-off-by: Bill Erickson --- Open-ILS/examples/fm_IDL.xml | 2 +- .../perlmods/lib/OpenILS/Application/Acq/Order.pm | 16 +++--- Open-ILS/src/perlmods/lib/OpenILS/WWW/Vandelay.pm | 5 -- Open-ILS/src/templates/acq/picklist/upload.tt2 | 63 +++++++++++++++++----- Open-ILS/web/js/ui/default/acq/picklist/upload.js | 54 +++++++++++++++++-- 5 files changed, 108 insertions(+), 32 deletions(-) diff --git a/Open-ILS/examples/fm_IDL.xml b/Open-ILS/examples/fm_IDL.xml index d605f1df6a..d36b378bb4 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/perlmods/lib/OpenILS/Application/Acq/Order.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/Order.pm index 1b1aff30e9..61eb569533 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/Order.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Acq/Order.pm @@ -1188,7 +1188,8 @@ __PACKAGE__->register_method( ); sub upload_records { - my($self, $conn, $auth, $key) = @_; + my($self, $conn, $auth, $key, $args) = @_; + $args ||= {}; my $e = new_editor(authtoken => $auth, xact => 1); return $e->die_event unless $e->checkauth; @@ -1197,14 +1198,13 @@ sub upload_records { my $cache = OpenSRF::Utils::Cache->new; my $data = $cache->get_cache("vandelay_import_spool_$key"); - my $purpose = $data->{purpose}; my $filename = $data->{path}; - my $provider = $data->{provider}; - my $picklist = $data->{picklist}; - my $create_po = $data->{create_po}; - my $activate_po = $data->{activate_po}; - my $ordering_agency = $data->{ordering_agency}; - my $create_assets = $data->{create_assets}; + my $provider = $args->{provider}; + my $picklist = $args->{picklist}; + my $create_po = $args->{create_po}; + my $activate_po = $args->{activate_po}; + my $ordering_agency = $args->{ordering_agency}; + my $create_assets = $args->{create_assets}; my $po; my $evt; diff --git a/Open-ILS/src/perlmods/lib/OpenILS/WWW/Vandelay.pm b/Open-ILS/src/perlmods/lib/OpenILS/WWW/Vandelay.pm index f5cb956629..af2ade1e96 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/WWW/Vandelay.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/WWW/Vandelay.pm @@ -113,11 +113,6 @@ sub spool_marc { { purpose => $purpose, path => $outfile, bib_source => $bib_source, - provider => $provider, - picklist => $picklist, - create_po => $create_po, - create_assets => $create_assets, - ordering_agency => $ordering_agency } ); } diff --git a/Open-ILS/src/templates/acq/picklist/upload.tt2 b/Open-ILS/src/templates/acq/picklist/upload.tt2 index 31b76204d9..ac7308b179 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,59 @@ + +
+ + + [% l('Record Match Set') %] +
+ + + [% l('Merge Profile') %] +
+ + + [% l('Import Non-Matching Records') %] + + + + [% l('Select a 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') %] + + - Records File - + [% l('Insufficient Quality Fall-Through Profile') %] +
+ +
+ - - + + [% l('File to Upload:') %] + + + 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..f64544f5f7 100644 --- a/Open-ILS/web/js/ui/default/acq/picklist/upload.js +++ b/Open-ILS/web/js/ui/default/acq/picklist/upload.js @@ -14,6 +14,12 @@ var VANDELAY_URL = '/vandelay-upload'; var providerWidget; var orderAgencyWidget; +var matchSet; +var mergeProfile; +var importNomatch; +var importBibSource; +var autoOveralayExact; + function init() { dojo.byId('acq-pl-upload-ses').value = openils.User.authtoken; @@ -35,6 +41,34 @@ function init() { function(w) { orderAgencyWidget = w } ); + new openils.widget.AutoFieldWidget({ + fmClass : 'vms', + selfReference : true, + orgLimitPerms : ['CREATE_PURCHASE_ORDER'], + parentNode : dojo.byId('acq-upload-vl-match-set') + }).build(function(w) { }); + + new openils.widget.AutoFieldWidget({ + fmClass : 'vmp', + selfReference : true, + orgLimitPerms : ['CREATE_PURCHASE_ORDER'], + parentNode : dojo.byId('acq-upload-vl-merge-profile') + }).build(function(w) { }); + + new openils.widget.AutoFieldWidget({ + fmClass : 'vmp', + selfReference : true, + orgLimitPerms : ['CREATE_PURCHASE_ORDER'], + parentNode : dojo.byId('acq-upload-vl-fallthru-merge-profile') + }).build(function(w) { }); + + new openils.widget.AutoFieldWidget({ + fmClass : 'cbs', + selfReference : true, + orgLimitPerms : ['CREATE_PURCHASE_ORDER'], + parentNode : dojo.byId('acq-upload-vl-bib-source') + }).build(function(w) { }); + fieldmapper.standardRequest( ['open-ils.acq', 'open-ils.acq.picklist.user.retrieve.atomic'], { async: true, @@ -79,11 +113,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,6 +121,21 @@ function acqSendUploadForm(args) { function acqHandlePostUpload(key) { + + var args = { + picklist : args.picklist, + provider : providerWidget.attr('value'), + ordering_agency : orderAgencyWidget.attr('value'), + create_po : acqPlUploadCreatePo.attr('value'), + activate_po : acqPlUploadActivatePo.attr('value'), + vandelay : { + import_no_match : acqPlUploadImportNomatch.attr('value'), + auto_overlay_exact : acqPlUploadAutoOverlayExact.attr('value'), + auto_overlay_1match : acqPlUploadAutoOverlay1Match.attr('value'), + auto_overlay_best_match : acqPlUploadAutoOverlayBestMatch.attr('value') + } + }; + fieldmapper.standardRequest( ['open-ils.acq', 'open-ils.acq.process_upload_records'], { async: true, -- 2.11.0