From 61efdaafb4d664db720788f5b02169d2e5606d12 Mon Sep 17 00:00:00 2001 From: Andrii Veremeienko Date: Tue, 26 Oct 2021 09:27:36 +0300 Subject: [PATCH] Bug 29114: Trim whitespace before the barcode The solution was to add regexp that trims all whitespaces. How to test: 1. Go to the koha/virtualshelves/shelves.pl; 2. Add new list or edit existing one; 3. Start adding new items; 4. In the "Barcode" field add barcode(s) with whitespaces before them; 5. Observe that it wasn't added as the barcode isn't recognized because of whitespaces; 6. Apply the patch; 7. Repeat step 4; 8. Observe that the item was successfully added; --- virtualshelves/shelves.pl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/virtualshelves/shelves.pl b/virtualshelves/shelves.pl index 1ac4d592e9..fa671cd347 100755 --- a/virtualshelves/shelves.pl +++ b/virtualshelves/shelves.pl @@ -21,6 +21,7 @@ use Modern::Perl; use CGI qw ( -utf8 ); use C4::Auth qw( get_template_and_user ); use C4::Biblio qw( GetMarcBiblio ); +use C4::Circulation qw( barcodedecode ); use C4::Koha qw( GetNormalizedEAN GetNormalizedISBN @@ -155,7 +156,7 @@ if ( $op eq 'add_form' ) { my @barcodes = split /\n/, $barcodes; # Entries are effectively passed in as a separated list foreach my $barcode (@barcodes){ $barcode =~ s/^\s*|\s*$//g; # remove leading/trailing whitespace - $barcode =~ s/\r$//; # strip any naughty return chars + $barcode = barcodedecode( $barcode ) if $barcode; next if $barcode eq ''; my $item = Koha::Items->find({barcode => $barcode}); if ( $item ) { -- 2.17.1