From f5c8c9ff09b7002902b81452177e72fc16d972dd Mon Sep 17 00:00:00 2001 From: Hammat Wele Date: Thu, 9 Nov 2023 00:24:38 +0000 Subject: [PATCH] Bug 21272: (follow-up) using List::MoreUtils#any to get rid of %branches and fixing GetImportItemsBranches in ImportBatch.pm --- C4/ImportBatch.pm | 20 +++++++++---------- .../en/modules/tools/manage-marc-import.tt | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/C4/ImportBatch.pm b/C4/ImportBatch.pm index 01f538900a..2c653c6308 100644 --- a/C4/ImportBatch.pm +++ b/C4/ImportBatch.pm @@ -40,7 +40,7 @@ use Koha::SearchEngine; use Koha::SearchEngine::Indexer; use Koha::Plugins::Handler; use Koha::Logger; -use List::MoreUtils qw( uniq ); +use List::MoreUtils qw( uniq any ); our (@ISA, @EXPORT_OK); BEGIN { @@ -825,12 +825,10 @@ sub _batchCommitItems { my ( $holdingbranchfield, $holdingbranchsubfield ) = GetMarcFromKohaField('items.holdingbranch'); my $holdingbranch = $item_marc->subfield( $holdingbranchfield, $holdingbranchsubfield ); - my @branches = map { $_->branchcode } Koha::Libraries->search->as_list; - my %branches = map { $_ => 1 } @branches; - + my @branches = Koha::Libraries->search->as_list; my $missing_branchcode; - $missing_branchcode = $homebranch if ( !exists( $branches{$homebranch} ) ); - $missing_branchcode = $holdingbranch if ( !exists( $branches{$holdingbranch} ) ); + $missing_branchcode = $homebranch if not any { $_->branchcode eq $homebranch } @branches; + $missing_branchcode = $holdingbranch if not any { $_->branchcode eq $holdingbranch } @branches; if ($missing_branchcode) { $updsth->bind_param( 1, 'error' ); $updsth->bind_param( 2, undef ); @@ -1232,7 +1230,7 @@ Returns an array of imported item branches. =cut sub GetImportItemsBranches { - my ( $batch_id ) = @_; + my ($batch_id) = @_; my $dbh = C4::Context->dbh; my $query = "SELECT import_items_id, import_items.marcxml, encoding @@ -1242,16 +1240,18 @@ sub GetImportItemsBranches { ORDER BY import_items_id"; my @params; push( @params, $batch_id ); - my $sth = $dbh->prepare_cached($query); + my $sth = $dbh->prepare($query); $sth->execute(@params); my $results = $sth->fetchall_arrayref( {} ); my @branch; my ( $homebranchfield, $homebranchsubfield ) = GetMarcFromKohaField('items.homebranch'); my ( $holdingbranchfield, $holdingbranchsubfield ) = GetMarcFromKohaField('items.holdingbranch'); + foreach my $row (@$results) { - my $item_marc = MARC::Record->new_from_xml( StripNonXmlChars( $row->{'marcxml'} ), 'UTF-8', $row->{'encoding'} ); + my $item_marc = + MARC::Record->new_from_xml( StripNonXmlChars( $row->{'marcxml'} ), 'UTF-8', $row->{'encoding'} ); push @branch, $item_marc->subfield( $homebranchfield, $homebranchsubfield ); - push @branch, $item_marc->subfield( $holdingbranchfield, $holdingbranchsubfield );; + push @branch, $item_marc->subfield( $holdingbranchfield, $holdingbranchsubfield ); } $sth->finish(); return uniq @branch; diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/manage-marc-import.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/manage-marc-import.tt index 8f0477d811..a0966c2a05 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/manage-marc-import.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/manage-marc-import.tt @@ -301,7 +301,7 @@ [% IF ( missing_branches ) %] -
There are some missing libraries in your installation: +
There are some missing libraries in your installation: [% FOREACH branche IN branches %] [% branche | html %] -- 2.34.1