From: Bill Erickson Date: Thu, 21 Mar 2013 13:45:39 +0000 (-0400) Subject: MARC strip fields for Acquisitions X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=100aa341d404851b6558743620332dd42097dc49;p=working%2FEvergreen.git MARC strip fields for Acquisitions Added MARC strip field group selector to acquisitions upload interface in the same manner as the group selector for non-acq Vandelay Signed-off-by: Bill Erickson Signed-off-by: Mike Rylander Conflicts: Open-ILS/web/js/ui/default/acq/common/vlagent.js --- diff --git a/Open-ILS/src/templates/acq/common/vlagent.tt2 b/Open-ILS/src/templates/acq/common/vlagent.tt2 index 8d5ede7954..98792cacac 100644 --- a/Open-ILS/src/templates/acq/common/vlagent.tt2 +++ b/Open-ILS/src/templates/acq/common/vlagent.tt2 @@ -1,3 +1,6 @@ + [% BLOCK vlagent_form %] [% l('Upload to Queue') %] @@ -43,6 +46,15 @@ [% l('Insufficient Quality Fall-Through Profile') %]
+ + [% l('Remove MARC Field Groups') %] + + + + [% IF vl_show_copy_option %] [% l('Load Items for Imported Records') %] diff --git a/Open-ILS/web/js/ui/default/acq/common/vlagent.js b/Open-ILS/web/js/ui/default/acq/common/vlagent.js index c92a135f2c..1a59db4243 100644 --- a/Open-ILS/web/js/ui/default/acq/common/vlagent.js +++ b/Open-ILS/web/js/ui/default/acq/common/vlagent.js @@ -1,5 +1,7 @@ dojo.require('openils.widget.AutoFieldWidget'); dojo.require('openils.PermaCrud'); +dojo.require('openils.XUL'); +dojo.require('dojox.form.CheckedMultiSelect'); function VLAgent(args) { args = args || {}; @@ -19,16 +21,66 @@ function VLAgent(args) { {key : 'bib_source', cls : 'cbs'}, {key : 'merge_profile', cls : 'vmp'}, {key : 'fall_through_merge_profile', cls : 'vmp'}, - {key : 'existing_queue', cls : 'vbq'} + {key : 'existing_queue', cls : 'vbq'}, + {key : 'strip_field_groups', cls : 'vibtg'} ]; this.loaded = false; this.init = function() { var self = this; + // fetch the strip field groups, then continue init-ing + + var owner = fieldmapper.aou.orgNodeTrail( + fieldmapper.aou.findOrgUnit(new openils.User().user.ws_ou())); + + new openils.PermaCrud().search('vibtg', + { always_apply : 'f', + owner: owner.map(function(org) { return org.id(); }) + }, + { order_by : {vibtg : ['label']}, + async: true, + oncomplete: function(r) { + var trashGroups = openils.Util.readResponse(r); + var sel = dijit.byId('acq_vl:strip_field_groups'); + + var widg = self.widgets.filter(function(w) { + return w.key == 'strip_field_groups'})[0]; + widg.dijit = sel; + + if (trashGroups.length == 0) { + openils.Util.hide('vl-trash-groups-row'); + + } else { + + dojo.forEach(trashGroups, function(grp) { + var sn = fieldmapper.aou.findOrgUnit( + grp.owner()).shortname(); + var opt = { + label : grp.label() + ' (' + sn + ')', + value : grp.id() + }; + sel.addOption(opt); + }); + } + + self.init3(); + } + } + ); + + }, + + this.init3 = function() { + var self = this; dojo.forEach(this.widgets, function(widg) { + var key = widg.key; + + // strip-fields widget built above + if (key == 'strip_field_groups') return; + if (widg.cls) { // selectors new openils.widget.AutoFieldWidget({