From 55b9b8e17de19bbc2f5c4e0fa1d2e5937a6c3eaf Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Fri, 27 Mar 2020 16:38:15 -0300 Subject: [PATCH] Bug 25006: Make Koha::Item->as_marc_field skip undefined subfields This patch makes as_marc_field skip subfields that don't have a value or contains an empty string (replicating C4::Items:1021 logic). To test: 1. Apply the regression tests patch 2. Run: $ kshell k$ prove t/db_dependent/Koha/Item.t => FAIL: Tests fail because the generated MARC::Field contains undef subfields. 3. Apply this patch 4. Repeat 2. => SUCCESS: Tests pass! Undefined and empty subfields are skipped! 5. Sign off :-D Signed-off-by: Tomas Cohen Arazi Signed-off-by: David Nind Signed-off-by: Jonathan Druart Signed-off-by: Martin Renvoize --- Koha/Item.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Koha/Item.pm b/Koha/Item.pm index 48dc73bf5c..70819cc96b 100644 --- a/Koha/Item.pm +++ b/Koha/Item.pm @@ -683,7 +683,8 @@ sub as_marc_field { next if !$tagfield; # TODO: Should we raise an exception instead? # Feels like safe fallback is better - push @subfields, $tagsubfield => $self->$item_field; + push @subfields, $tagsubfield => $self->$item_field + if defined $self->$item_field and $item_field ne ''; } my $unlinked_item_subfields = C4::Items::_parse_unlinked_item_subfields_from_xml($self->more_subfields_xml); -- 2.39.5