From 1f1b8f9b48ab699b227ecdfe53be3665c5b697cf Mon Sep 17 00:00:00 2001 From: Lucas Gass Date: Thu, 11 Jul 2024 17:17:29 +0000 Subject: [PATCH] Bug 37316: Treat empty string barcodes as undef To test: 1.Add the following to MarcItemFieldsToOrder: homebranch: 949$a holdingbranch: 949$b itype: 949$y nonpublic_note: 949$x public_note: 949$z loc: 949$c ccode: 949$8 notforloan: 949$7 uri: 949$u copyno: 949$t price: 949$g|949$j replacementprice: 949$v itemcallnumber: 949$o quantity: 949$k budget_code: 949$l coded_location_qualifier: 949$f enumchron: 949$h 2. Add the following to MarcFieldsToOrder: price: 949$g quantity: 949$k budget_code: 949$l discount: 949$m sort1: 949$n sort2: 949$q 3. Acquisitions > Find a vendor 4. Create a new basket -> Add to basket -> From new file 5. Use the file uplodaded in this bug report. 6. Set format to MARCXML and stage for import. 7. Add staged files to basket 8. Select all, make sure you add an item type, and choose 'Do not look for matching records' 9. Save and kaboom. 10. APPLY PATCH and restart_all 11. Follow the steps again, this time no kaboom. --- Koha/Item.pm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Koha/Item.pm b/Koha/Item.pm index 91c15b22d5..247fae7cde 100644 --- a/Koha/Item.pm +++ b/Koha/Item.pm @@ -98,6 +98,9 @@ sub store { $self->itype($self->biblio->biblioitem->itemtype); } + # Ensure barcode is either defined or undef + $self->barcode(undef) if $self->barcode eq ''; + $self->barcode( C4::Circulation::barcodedecode( $self->barcode ) ); my $today = dt_from_string; -- 2.39.2