From b05e21f826734b63b33252899e28d8915d25473a Mon Sep 17 00:00:00 2001 From: Jacek Ablewicz Date: Mon, 23 Mar 2015 15:21:53 +0100 Subject: [PATCH] Bug 10906 - Reimported records into Koha are imported only as DEFAULT frameworks, not what they were originally Existing framework code is currently not retained when local record gets replaced during batch import, or when the restore/reverse function is being used. This patch fixes aforementioned issues by correcting outdated GetBiblio() calls in C4/ImportBatch.pm To test: 1/ try to replicate the issue: import some MARC records with "Tools -> Stage MARC records for import" etc., using test setup, matching rules and so on such that some existing records will get replaced with imported ones 2/ observe that records replaced during import now open in the editor with 'Default' framework, even if they have some other framework set up previously 3/ apply patch 4/ redo 1/, confirming that this problem is no longer replicable 5/ try use 'restore' function with some freshly imported records, ensure that original framework code got retained in the records which had their imports reverted --- C4/ImportBatch.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/C4/ImportBatch.pm b/C4/ImportBatch.pm index 08304d7..fe31c45 100644 --- a/C4/ImportBatch.pm +++ b/C4/ImportBatch.pm @@ -623,7 +623,7 @@ sub BatchCommitRecords { $recordid = $record_match; my $oldxml; if ($record_type eq 'biblio') { - my ($count, $oldbiblio) = GetBiblio($recordid); + my $oldbiblio = GetBiblio($recordid); $oldxml = GetXmlBiblio($recordid); # remove item fields so that they don't get @@ -822,7 +822,7 @@ sub BatchRevertRecords { my $old_record = MARC::Record->new_from_xml(StripNonXmlChars($rowref->{'marcxml_old'}), 'UTF-8', $rowref->{'encoding'}, $marc_type); if ($record_type eq 'biblio') { my $biblionumber = $rowref->{'matched_biblionumber'}; - my ($count, $oldbiblio) = GetBiblio($biblionumber); + my $oldbiblio = GetBiblio($biblionumber); $num_items_deleted += BatchRevertItems($rowref->{'import_record_id'}, $rowref->{'matched_biblionumber'}); ModBiblio($old_record, $biblionumber, $oldbiblio->{'frameworkcode'}); } else { -- 1.7.10.4