From: Jason Etheridge Date: Thu, 24 Mar 2011 21:26:03 +0000 (-0400) Subject: handle parts for existing items in vol/item editor X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=0834d9b16f394f1e4d5d751835ef7c8c3cb4d765;p=evergreen%2Fequinox.git handle parts for existing items in vol/item editor --- 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 5ff592c036..9bc22bd3fa 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 @@ -666,6 +666,17 @@ g.render_barcode_entry = function(node,callnumber_composite_key,count,ou_id) { if (!tb.value && g.org_label_existing_copy_map[ ou_id ]) { tb.value = g.org_label_existing_copy_map[ ou_id ][ callnumber_composite_key ][i].barcode(); tb.setAttribute('acp_id', g.org_label_existing_copy_map[ ou_id ][ callnumber_composite_key ][i].id()); + var temp_parts = g.org_label_existing_copy_map[ ou_id ][ callnumber_composite_key ][i].parts(); + temp_parts = util.functional.filter_list( + temp_parts, + function(p) { + return p.record() == g.doc_id; // filter out foreign parts + } + ); + if (temp_parts.length > 0) { + tb.setAttribute('bmp_id',temp_parts[0].id()); + part_menu.firstChild.value = g.parts_hash[ temp_parts[0].id() ].label(); + } tb.select(); if (! g.first_focus) { g.first_focus = tb; } } @@ -934,8 +945,16 @@ g.gather_copies = function() { } copy.barcode( barcode ); copy.call_number( acn_id ); - // FIXME - at some point we will have multi-home multi-part items, and will need to preserve foreign parts - copy.parts( bmp_id ? [ g.parts_hash[ bmp_id ] ] : null ); + var temp_parts = util.functional.filter_list( + copy.parts() || [], + function(p) { + return (p.record() != g.doc_id); // filter out parts for this bib + } + ); + if (bmp_id) { + temp_parts.push( g.parts_hash[ bmp_id ] ); + } + copy.parts( temp_parts ); copies.push( copy ); } }