From b50a0291eb26a7a90170ea911791856c8ed939f2 Mon Sep 17 00:00:00 2001 From: Jason Etheridge Date: Tue, 5 Apr 2011 19:03:12 -0400 Subject: [PATCH] unlinking multi-home items --- .../server/cat/manage_multi_home_items.js | 56 +++++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/Open-ILS/xul/staff_client/server/cat/manage_multi_home_items.js b/Open-ILS/xul/staff_client/server/cat/manage_multi_home_items.js index 8cc8d595f3..0ff25bf111 100644 --- a/Open-ILS/xul/staff_client/server/cat/manage_multi_home_items.js +++ b/Open-ILS/xul/staff_client/server/cat/manage_multi_home_items.js @@ -292,7 +292,7 @@ function handle_change() { if (eligibles.length > 0) { if (window.confirm( eligibles.length == 1 - ? 'Change peer type on 1 selected item to ' + data.hash.bpt[ $('bpt_menu').value ].name() + ? 'Change peer type on selected item to ' + data.hash.bpt[ $('bpt_menu').value ].name() : 'Change peer type on ' + eligibles.length + ' selected items to '+ data.hash.bpt[ $('bpt_menu').value ].name()) ) { var bpbcm_list = []; @@ -333,3 +333,57 @@ function handle_change() { alert('Error in manage_multi_home_items.js, handle_change(): ' + E); } } + +function handle_remove() { + try { + var node_list = list.retrieve_selection(); + var eligibles = []; + for (var i = 0; i < node_list.length; i++) { + if (node_list[i].hasAttribute('retrieve_id')) { + eligibles.push( node_list[i].getAttribute('retrieve_id') ); + } + } + if (eligibles.length > 0) { + if (window.confirm( + eligibles.length == 1 + ? 'Unlink selected item from bib #' + xul_param('docid') + : 'Unlink ' + eligibles.length + ' selected items from bib #' + xul_param('docid')) + ) { + var bpbcm_list = []; + for (var i = 0; i < eligibles.length; i++) { + var obj = rows[ bpbcm_barcode_map[ eligibles[i] ] ].row.my.bpbcm; + obj.isdeleted(1); + bpbcm_list.push( obj ); + } + pcrud.eliminate( + bpbcm_list, { + 'async' : false, + 'onerror': function(r) { + dump('onerror: ' + r + '\n'); + }, + 'onresponse': function(r) { + dump('onresponse: ' + r + '\n'); + }, + 'oncomplete': function(r,ids) { + dump('oncomplete: r = ' + r + '\n\tids = ' + js2JSON(ids) + '\n'); + for (var i = 0; i < ids.length; i++) { + var bpbcm_id = ids[i]; + try { + var node = rows[ bpbcm_barcode_map[ bpbcm_id ] ].my_node; + var parentNode = node.parentNode; + parentNode.removeChild( node ); + delete(rows[ bpbcm_barcode_map[ bpbcm_id ] ]); + } catch(E) { + alert('error in oncomplete: ' + E); + } + } + } + } + ); + } + } + + } catch(E) { + alert('Error in manage_multi_home_items.js, handle_remove(): ' + E); + } +} -- 2.11.0