From 710b3409c23358b99fcc7f2ce4cec08c54132b83 Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Thu, 21 Mar 2013 09:45:39 -0400 Subject: [PATCH] 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 --- Open-ILS/src/templates/acq/common/vlagent.tt2 | 12 ++++++ Open-ILS/web/js/ui/default/acq/common/vlagent.js | 53 +++++++++++++++++++++++- 2 files changed, 64 insertions(+), 1 deletion(-) 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 38df7923ff..827e183f26 100644 --- a/Open-ILS/web/js/ui/default/acq/common/vlagent.js +++ b/Open-ILS/web/js/ui/default/acq/common/vlagent.js @@ -1,6 +1,7 @@ dojo.require('openils.widget.AutoFieldWidget'); dojo.require('openils.PermaCrud'); dojo.require('openils.XUL'); +dojo.require('dojox.form.CheckedMultiSelect'); var xulStorage = openils.XUL.localStorage(); var storekey = 'eg.acq.upload.'; @@ -43,7 +44,8 @@ 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; @@ -83,11 +85,60 @@ function VLAgent(args) { this.init2 = 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.readCachedValue(sel, 'strip_field_groups'); + } + + 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({ -- 2.11.0