From: Jason Etheridge Date: Fri, 11 Mar 2011 10:51:05 +0000 (-0500) Subject: working batch application for class and affixes X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=2ce4a1db9a45872a207a784d2a7c45b97f7116b1;p=evergreen%2Fequinox.git working batch application for class and affixes --- diff --git a/Open-ILS/xul/staff_client/server/cat/volume_copy_creator.js b/Open-ILS/xul/staff_client/server/cat/volume_copy_creator.js index afba813ce0..fc2d39ac5a 100644 --- a/Open-ILS/xul/staff_client/server/cat/volume_copy_creator.js +++ b/Open-ILS/xul/staff_client/server/cat/volume_copy_creator.js @@ -25,7 +25,7 @@ function my_init() { g.error.sdump('D_TRACE','my_init() for cat/volume_copy_creator.xul'); JSAN.use('OpenILS.data'); g.data = new OpenILS.data(); g.data.init({'via':'stash'}); - JSAN.use('util.widgets'); JSAN.use('util.functional'); + JSAN.use('util.widgets'); JSAN.use('util.functional'); JSAN.use('util.fm_utils'); JSAN.use('util.network'); g.network = new util.network(); @@ -142,9 +142,7 @@ function my_init() { /* For the batch drop downs */ g.list_classes(); - g.list_prefixes(); g.list_callnumbers(g.doc_id, g.label_class); - g.list_suffixes(); g.render_batch_button(); /***********************************************************************************************************/ @@ -152,6 +150,7 @@ function my_init() { var rows = document.getElementById('rows'); + g.ou_ids = []; for (var i = 0; i < ou_ids.length; i++) { try { var org = g.data.hash.aou[ ou_ids[i] ]; @@ -159,11 +158,21 @@ function my_init() { var row = document.createElement('row'); rows.appendChild(row); row.setAttribute('ou_id',ou_ids[i]); g.render_library_label(row,ou_ids[i]); g.render_volume_count_entry( row, ou_ids[i] ); + g.ou_ids.push( ou_ids[i] ); } } catch(E) { g.error.sdump('D_ERROR',E); } } + g.common_ancestor_ou_ids = util.fm_utils.find_common_aou_ancestors( g.ou_ids ).reverse(); + + /***********************************************************************************************************/ + /* For the remainder batch drop downs */ + + g.list_prefixes(); + g.list_suffixes(); + + /************/ g.load_prefs(); @@ -1116,6 +1125,7 @@ g.render_class_menu = function(call_number_tb) { } ) ); + ml.setAttribute('rel_vert_pos',rel_vert_pos_call_number_classification); ml.addEventListener( 'command', function() { @@ -1144,6 +1154,7 @@ g.render_prefix_menu = function(call_number_tb) { g.render_prefix_menu_items(menupopup,org_list[i]); } + menulist.setAttribute('rel_vert_pos',rel_vert_pos_call_number_prefix); menulist.addEventListener( 'command', function() { @@ -1199,6 +1210,7 @@ g.render_suffix_menu = function(call_number_tb) { g.render_suffix_menu_items(menupopup,org_list[i]); } + menulist.setAttribute('rel_vert_pos',rel_vert_pos_call_number_suffix); menulist.addEventListener( 'command', function() { @@ -1287,6 +1299,9 @@ g.list_prefixes = function() { [ '', false ] ] ); hbox.appendChild(ml); + for (var i = 0; i < g.common_ancestor_ou_ids.length; i++) { + g.render_prefix_menu_items(ml.firstChild,g.common_ancestor_ou_ids[i]); + } } g.list_suffixes = function() { @@ -1296,6 +1311,9 @@ g.list_suffixes = function() { [ '', false ] ] ); hbox.appendChild(ml); + for (var i = 0; i < g.common_ancestor_ou_ids.length; i++) { + g.render_suffix_menu_items(ml.firstChild,g.common_ancestor_ou_ids[i]); + } } g.render_batch_button = function() { @@ -1310,13 +1328,47 @@ g.render_batch_button = function() { function() { var nl = document.getElementsByTagName('textbox'); for (var i = 0; i < nl.length; i++) { - if (nl[i].getAttribute('rel_vert_pos')==rel_vert_pos_call_number - && !nl[i].disabled) - { - nl[i].value = $('marc_cn').firstChild.value; - util.widgets.dispatch('change',nl[i]); + /* label */ + if (nl[i].getAttribute('rel_vert_pos')==rel_vert_pos_call_number && !nl[i].disabled) { + var label = $('marc_cn').firstChild.value; + if (label != '') { + nl[i].value = label; + util.widgets.dispatch('change',nl[i]); + } } } + nl = document.getElementsByTagName('menulist'); + for (var i = 0; i < nl.length; i++) { + /* classification */ + if (nl[i].getAttribute('rel_vert_pos')==rel_vert_pos_call_number_classification && !nl[i].disabled) { + var value = $('batch_class').firstChild.value; + if (!isNaN( Number(value) )) { + nl[i].value = value; + util.widgets.dispatch('command',nl[i]); + } + } + /* prefix */ + if (nl[i].getAttribute('rel_vert_pos')==rel_vert_pos_call_number_prefix && !nl[i].disabled) { + var value = $('batch_prefix').firstChild.value; + if (!isNaN( Number(value) )) { + nl[i].value = value; + util.widgets.dispatch('command',nl[i]); + } + } + /* suffix */ + if (nl[i].getAttribute('rel_vert_pos')==rel_vert_pos_call_number_suffix && !nl[i].disabled) { + var value = $('batch_suffix').firstChild.value; + if (!isNaN( Number(value) )) { + nl[i].value = value; + util.widgets.dispatch('command',nl[i]); + } + } + } + setTimeout( + function() { + g.gather_copies_soon(); + },0 + ); if (g.last_focus) setTimeout( function() { g.last_focus.focus(); }, 0 ); }, false