From eef0be3679daff4d1f50a9d7d7daba701c5c9a1e Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Fri, 16 Oct 2020 10:42:35 -0400 Subject: [PATCH] Bug 26351: (QA follow-up) Barcodes inputted into Koha should always pass though barcodedecode Signed-off-by: Martin Renvoize --- C4/ILSDI/Services.pm | 3 +-- Koha/Item.pm | 3 +-- cataloguing/additem.pl | 3 +-- circ/circulation.pl | 4 +--- circ/returns.pl | 6 ++---- offline_circ/process_koc.pl | 9 ++------- opac/sco/sco-main.pl | 2 +- tools/batchMod.pl | 2 +- tools/inventory.pl | 2 +- 9 files changed, 11 insertions(+), 23 deletions(-) diff --git a/C4/ILSDI/Services.pm b/C4/ILSDI/Services.pm index e7e190bf39..edc48ca929 100644 --- a/C4/ILSDI/Services.pm +++ b/C4/ILSDI/Services.pm @@ -613,8 +613,7 @@ sub GetServices { # Issuing management my $barcode = $item->barcode || ''; - $barcode = barcodedecode($barcode) if ( $barcode && C4::Context->preference('itemBarcodeInputFilter') ); - ($barcode) = Koha::Plugins->call('item_barcode_transform', $barcode ) || $barcode; + $barcode = barcodedecode($barcode) if $barcode; if ($barcode) { my ( $issuingimpossible, $needsconfirmation ) = CanBookBeIssued( $patron, $barcode ); diff --git a/Koha/Item.pm b/Koha/Item.pm index 442c127274..10f2aebdc8 100644 --- a/Koha/Item.pm +++ b/Koha/Item.pm @@ -89,8 +89,7 @@ sub store { $self->itype($self->biblio->biblioitem->itemtype); } - my ($transformed_barcode) = Koha::Plugins->call( 'item_barcode_transform', $self->barcode ) || $self->barcode; - $self->barcode($transformed_barcode); + $self->barcode( barcodedecode( $self->barcode ) ); my $today = dt_from_string; my $plugin_action = 'create'; diff --git a/cataloguing/additem.pl b/cataloguing/additem.pl index 7905b9f6bd..4c878712d5 100755 --- a/cataloguing/additem.pl +++ b/cataloguing/additem.pl @@ -517,8 +517,7 @@ if ($op eq "additem") { my $addedolditem = TransformMarcToKoha( $record ); - my ( $new_barcode ) = Koha::Plugins->call( 'item_barcode_transform', $addedolditem->{'barcode'} ) || $addedolditem->{'barcode'}; - $addedolditem->{'barcode'} = $new_barcode; + $addedolditem->{barcode} = barcodedecode( $addedolditem->{barcode} ); # If we have to add or add & duplicate, we add the item if ( $add_submit || $add_duplicate_submit ) { diff --git a/circ/circulation.pl b/circ/circulation.pl index 84b27a5d76..affee62f74 100755 --- a/circ/circulation.pl +++ b/circ/circulation.pl @@ -164,9 +164,7 @@ if (C4::Context->preference("DisplayClearScreenButton")) { for my $barcode ( @$barcodes ) { $barcode =~ s/^\s*|\s*$//g; # remove leading/trailing whitespace - $barcode = barcodedecode($barcode) - if( $barcode && C4::Context->preference('itemBarcodeInputFilter')); - ( $barcode ) = Koha::Plugins->call( 'item_barcode_transform', $barcode ) || $barcode; + $barcode = barcodedecode( $barcode ) if $barcode; } my $stickyduedate = $query->param('stickyduedate') || $session->param('stickyduedate'); diff --git a/circ/returns.pl b/circ/returns.pl index b690b41a9a..4488b12b4f 100755 --- a/circ/returns.pl +++ b/circ/returns.pl @@ -114,8 +114,7 @@ foreach ( $query->param ) { # decode barcode ## Didn't we already decode them before passing them back last time?? $barcode =~ s/^\s*|\s*$//g; # remove leading/trailing whitespace - ( $barcode ) = Koha::Plugins->call( 'item_barcode_transform', $barcode ) || $barcode; - $barcode = barcodedecode($barcode) if(C4::Context->preference('itemBarcodeInputFilter')); + $barcode = barcodedecode($barcode) if $barcode; ###################### #Are these lines still useful ? @@ -244,8 +243,7 @@ if ($canceltransfer){ my $returnbranch; if ($barcode) { $barcode =~ s/^\s*|\s*$//g; # remove leading/trailing whitespace - ( $barcode ) = Koha::Plugins->call( 'item_barcode_transform', $barcode ) || $barcode; - $barcode = barcodedecode($barcode) if C4::Context->preference('itemBarcodeInputFilter'); + $barcode = barcodedecode($barcode) if $barcode; my $item = Koha::Items->find({ barcode => $barcode }); if ( $item ) { diff --git a/offline_circ/process_koc.pl b/offline_circ/process_koc.pl index ae2725adb3..138afa2569 100755 --- a/offline_circ/process_koc.pl +++ b/offline_circ/process_koc.pl @@ -246,10 +246,7 @@ sub arguments_for_command { sub kocIssueItem { my $circ = shift; - $circ->{ 'barcode' } = barcodedecode($circ->{'barcode'}) if( $circ->{'barcode'} && C4::Context->preference('itemBarcodeInputFilter')); - - my ( $new_barcode ) = Koha::Plugins->call( 'item_barcode_transform', $circ->{barcode} ) || $circ->{barcode}; - $circ->{barcode} = $new_barcode; + $circ->{barcode} = barcodedecode( $circ->{barcode} ) if $circ->{barcode}; my $branchcode = C4::Context->userenv->{branch}; my $patron = Koha::Patrons->find( { cardnumber => $circ->{cardnumber} } ); @@ -330,10 +327,8 @@ sub kocIssueItem { sub kocReturnItem { my ( $circ ) = @_; - $circ->{'barcode'} = barcodedecode($circ->{'barcode'}) if( $circ->{'barcode'} && C4::Context->preference('itemBarcodeInputFilter')); - my ( $new_barcode ) = Koha::Plugins->call( 'item_barcode_transform', $circ->{barcode} ) || $circ->{barcode}; - $circ->{barcode} = $new_barcode; + $circ->{barcode} = barcodedecode( $circ->{barcode} ) if $circ->{barcode}; my $item = Koha::Items->find({ barcode => $circ->{barcode} }); my $biblio = $item->biblio; diff --git a/opac/sco/sco-main.pl b/opac/sco/sco-main.pl index 93a1a4a9af..4ea0048cc8 100755 --- a/opac/sco/sco-main.pl +++ b/opac/sco/sco-main.pl @@ -110,7 +110,7 @@ my ($op, $patronid, $patronlogin, $patronpw, $barcode, $confirmed, $newissues) = $query->param("newissues") || '', ); -( $barcode ) = Koha::Plugins->call( 'item_barcode_transform', $barcode ) || $barcode; +$barcode = barcodedecode( $barcode ) if $barcode; my @newissueslist = split /,/, $newissues; my $issuenoconfirm = 1; #don't need to confirm on issue. diff --git a/tools/batchMod.pl b/tools/batchMod.pl index 426c99b9f7..79509487c8 100755 --- a/tools/batchMod.pl +++ b/tools/batchMod.pl @@ -404,7 +404,7 @@ if ($op eq "show"){ my @barcodelist = grep /\S/, ( split /[$split_chars]/, $list ); @barcodelist = uniq @barcodelist; - @barcodelist = map { ( Koha::Plugins->call( 'item_barcode_transform', $_ ) )[0] || $_ } @barcodelist; + @barcodelist = map { barcodedecode( $_ ) } @barcodelist; # Note: adding lc for case insensitivity my %itemdata = map { lc($_->{barcode}) => $_->{itemnumber} } @{ Koha::Items->search({ barcode => \@barcodelist }, { columns => [ 'itemnumber', 'barcode' ] } )->unblessed }; diff --git a/tools/inventory.pl b/tools/inventory.pl index fe671274a8..ec2b2fe876 100755 --- a/tools/inventory.pl +++ b/tools/inventory.pl @@ -179,7 +179,7 @@ if ( ($uploadbarcodes && length($uploadbarcodes) > 0) || ($barcodelist && length for my $barcode (@uploadedbarcodes) { next unless $barcode; - ($barcode) = Koha::Plugins->call('item_barcode_transform', $barcode ) || $barcode; + $barcode = barcodedecode($barcode); ++$lines_read; if (length($barcode)>$barcode_size) { -- 2.20.1