From d60ce49cfe070d7f919f5a268cc6641a66971e99 Mon Sep 17 00:00:00 2001 From: dbs Date: Tue, 31 Aug 2010 15:18:04 +0000 Subject: [PATCH] Backport r71394 and r17395 from trunk: bib_source selection in Vandelay When importing a set of records from Vandelay, the bib source selection widget on the Vandelay screen should actually affect the biblio.record_entry.source value of the imported records. We also pass the record types to the MARC editor from the Vandelay and acquisitions interfaces, for however much good that does for us (not much at the moment). git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_6@17403 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/src/perlmods/OpenILS/Application/Cat/BibCommon.pm | 3 +++ Open-ILS/src/perlmods/OpenILS/Application/Vandelay.pm | 11 +++++++++-- Open-ILS/web/js/ui/default/acq/common/li_table.js | 2 +- Open-ILS/web/js/ui/default/vandelay/vandelay.js | 9 ++++++++- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Cat/BibCommon.pm b/Open-ILS/src/perlmods/OpenILS/Application/Cat/BibCommon.pm index 1e311c2050..34eeee7044 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Cat/BibCommon.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Cat/BibCommon.pm @@ -86,6 +86,9 @@ sub biblio_record_xml_import { return $evt if $evt; } + # Silence warnings when _find_tcn_info() fails + $tcn ||= ''; + $tcn_source ||= ''; $logger->info("user ".$e->requestor->id. " creating new biblio entry with tcn=$tcn and tcn_source $tcn_source"); diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Vandelay.pm b/Open-ILS/src/perlmods/OpenILS/Application/Vandelay.pm index 0e7903ad88..570eeab249 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Vandelay.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Vandelay.pm @@ -541,6 +541,13 @@ sub import_record_list_impl { my %queues; my @ingest_queue; + my %bib_sources; + my $editor = new_editor(); + my $sources = $editor->search_config_bib_source({id => {'!=' => undef}}); + foreach my $src (@$sources) { + $bib_sources{$src->id} = $src->source; + } + my $ingest_ses = OpenSRF::AppSession->connect('open-ils.ingest'); for my $rec_id (@$rec_ids) { @@ -570,11 +577,11 @@ sub import_record_list_impl { if(defined $overlay_target) { $logger->info("vl: overlaying record $overlay_target"); $record = OpenILS::Application::Cat::BibCommon->biblio_record_replace_marc( - $e, $overlay_target, $rec->marc); #$rec->bib_source + $e, $overlay_target, $rec->marc, $bib_sources{$rec->bib_source}); } else { $logger->info("vl: importing new record"); $record = OpenILS::Application::Cat::BibCommon->biblio_record_xml_import( - $e, $rec->marc); #$rec->bib_source + $e, $rec->marc, $bib_sources{$rec->bib_source}); } if($U->event_code($record)) { diff --git a/Open-ILS/web/js/ui/default/acq/common/li_table.js b/Open-ILS/web/js/ui/default/acq/common/li_table.js index 30ac9e2160..4a8c271c44 100644 --- a/Open-ILS/web/js/ui/default/acq/common/li_table.js +++ b/Open-ILS/web/js/ui/default/acq/common/li_table.js @@ -971,7 +971,7 @@ function AcqLiTable() { } var self = this; win.xulG = { - record : {marc : li.marc()}, + record : {marc : li.marc(), "rtype": "bre"}, save : { label: 'Save Record', // XXX I18N func: function(xmlString) { diff --git a/Open-ILS/web/js/ui/default/vandelay/vandelay.js b/Open-ILS/web/js/ui/default/vandelay/vandelay.js index cb0b2ff02d..07a644d450 100644 --- a/Open-ILS/web/js/ui/default/vandelay/vandelay.js +++ b/Open-ILS/web/js/ui/default/vandelay/vandelay.js @@ -951,6 +951,13 @@ function vlOpenMarcEditWindow(rec, postReloadHTMLHandler) { netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect'); win = window.open('/xul/server/cat/marcedit.xul'); // XXX version? + var type; + if (currentType == 'bib') { + type = 'bre'; + } else { + type = 'are'; + } + function onsave(r) { // after the record is saved, reload the HTML display var stat = r.recv().content(); @@ -962,7 +969,7 @@ function vlOpenMarcEditWindow(rec, postReloadHTMLHandler) { } win.xulG = { - record : {marc : rec.marc()}, + record : {marc : rec.marc(), "rtype": type}, save : { label: dojo.byId('vl-marc-edit-save-label').innerHTML, func: function(xmlString) { -- 2.11.0