From: Jason Etheridge Date: Tue, 5 Apr 2011 14:50:06 +0000 (-0400) Subject: add multi home items to specific bib UI. TODO: the critical method for doing the... X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=7c12503c3115d67c2d0e923bfd12e5cf648319c4;p=evergreen%2Fequinox.git add multi home items to specific bib UI. TODO: the critical method for doing the actual work, and I18N --- diff --git a/Open-ILS/xul/staff_client/server/cat/add_multi_home_items.js b/Open-ILS/xul/staff_client/server/cat/add_multi_home_items.js new file mode 100644 index 0000000000..a08cbb2634 --- /dev/null +++ b/Open-ILS/xul/staff_client/server/cat/add_multi_home_items.js @@ -0,0 +1,137 @@ +var list; var error; var net; var pcrud; var rows; + +var commonStrings; +var catStrings; + +//// parent interfaces may call this +function default_focus() { $('scanbox').focus(); } +//// + +function my_init() { + try { + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + + commonStrings = $('commonStrings'); + patronStrings = $('patronStrings'); + + if (typeof JSAN == 'undefined') { + throw( + commonStrings.getString('common.jsan.missing') + ); + } + + JSAN.errorLevel = "die"; // none, warn, or die + JSAN.addRepository('..'); + + JSAN.use('util.error'); error = new util.error(); + JSAN.use('util.list'); + JSAN.use('util.network'); net = new util.network(); + dojo.require('openils.PermaCrud'); + pcrud = new openils.PermaCrud( { authtoken :ses() }); + + init_list(); + $('list_actions').appendChild( list.render_list_actions() ); + list.set_list_actions(); + $('submit').addEventListener('command', function() { handle_submit(); }, false); + $('scanbox').addEventListener('keypress', handle_keypress, false); + default_focus(); + + if (typeof window.xulG == 'object' && typeof window.xulG.set_tab_name == 'function') { + try { window.xulG.set_tab_name('Add Multi-Home Items: Bib ' + xul_param('docid')); } catch(E) { alert(E); } + } + + } catch(E) { + alert('Error in add_multi_home_items.js, my_init(): ' + E); + } +} + +function init_list() { + try { + list = new util.list( 'list' ); + list.init( + { + 'columns' : [ + { + 'id' : 'result', + 'label' : 'Result', + 'flex' : 1, + 'primary' : false, + 'hidden' : false, + 'editable' : false, 'render' : function(my) { return my.result; } + } + ].concat( + list.fm_columns('acp', { + '*' : { 'expanded_label' : false, 'hidden' : true }, + 'acp_barcode' : { 'hidden' : false }, + 'acp_opac_visible' : { 'hidden' : false }, + 'acp_holdable' : { 'hidden' : false } + }) + ).concat( + list.fm_columns('mvr', { + '*' : { 'expanded_label' : false, 'hidden' : true }, + 'mvr_title' : { 'hidden' : false }, + 'mvr_author' : { 'hidden' : false }, + 'mvr_isbn' : { 'hidden' : false }, + 'mvr_tcn' : { 'hidden' : false }, + 'mvr_id' : { 'hidden' : false } + }) + ) + } + ); + } catch(E) { + alert('Error in add_multi_home_items.js, init_list(): ' + E); + } +} + +function handle_keypress(ev) { + try { + if (ev.keyCode && ev.keyCode == 13) { + handle_submit(); + } + } catch(E) { + alert('Error in add_multi_home_items.js, handle_keypress(): ' + E); + } +} + +function handle_submit() { + try { + var barcode = $('scanbox').value; + $('scanbox').value = ''; + default_focus(); + + var placeholder_acp = new acp(); + placeholder_acp.barcode(barcode); + var row_params = { + 'row' : { + 'my' : { + 'acp' : placeholder_acp + } + } + }; + + var row_params = list.append(row_params); + + net.simple_request( + 'FM_ACP_DETAILS_VIA_BARCODE.authoritative', + [ ses(), barcode ], + function(req) { + try { + var robj = req.getResultObject(); + if (typeof robj.ilsevent != 'undefined') { + row_params.row.my.result = robj.textcode; + } else { + row_params.row.my.acp = robj.copy; + row_params.row.my.mvr = robj.mvr; + } + list.refresh_row( row_params ); + } catch(E) { + alert('Error in add_multi_home_items.js, handle_submit, acp details callback: ' + E); + } + } + ); + + } catch(E) { + alert('Error in add_multi_home_items.js, handle_submit(): ' + E); + } +} + diff --git a/Open-ILS/xul/staff_client/server/cat/add_multi_home_items.xul b/Open-ILS/xul/staff_client/server/cat/add_multi_home_items.xul new file mode 100644 index 0000000000..1618aff241 --- /dev/null +++ b/Open-ILS/xul/staff_client/server/cat/add_multi_home_items.xul @@ -0,0 +1,45 @@ + + + + + + + + + + + + +]> + + + + + + + + + + + + +