From 626bcc8f1c478c26be8fd483f323292619e74c34 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Wed, 28 Sep 2022 18:53:28 +0000 Subject: [PATCH] Bug 31644: Check if subfield defined, not for truth MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=utf-8 To test: 1 - Define a new MARC Modification template with actions: Copy field 600$a to 942$0 2 - Define a new record like: LDR 00334nam a22001217a 4500 003 ff 005 20201102111604.0 008 201102b xxu||||| |||| 00| 0 eng d 040 _ _ ‡cvsd 100 1 _ ‡012345‡aKnuth, Donal Ervin‡d1938 245 _ _ ‡012345‡aThe aty of computer programming‡cDonald E. Knuth 600 _ 0 ‡042‡aComputer programming‡9462 3 - Modify this record using the template above 4 - Note that entire field is copied to 942 5 - Apply patch 6 - Now only subfield 0 is copied Signed-off-by: David Nind Signed-off-by: Marcel de Rooy --- Koha/SimpleMARC.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Koha/SimpleMARC.pm b/Koha/SimpleMARC.pm index 6fd08b1013..5aab1285d7 100644 --- a/Koha/SimpleMARC.pm +++ b/Koha/SimpleMARC.pm @@ -92,9 +92,9 @@ sub copy_field { if ( ! ( $record && $fromFieldName && $toFieldName ) ) { return; } - if ( not $fromSubfieldName + if ( not defined $fromSubfieldName or $fromSubfieldName eq '' - or not $toSubfieldName + or not defined $toSubfieldName or $toSubfieldName eq '' ) { _copy_move_field( { record => $record, -- 2.30.2