From 22d3c6121aa549edf89f1f5f1f8b1355271bbedb Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Thu, 4 May 2023 18:37:53 +0000 Subject: [PATCH] Bug 32478: (follow-up) UpdateItemLocationOnCheckin no longer needs flattening This patch removes a line flattening the arrays generated by get_yaml_pref_hash as it is no longer necessary Conditionals are adjusted to avoid warnings in tests Signed-off-by: Nick Clemens Signed-off-by: Marcel de Rooy Signed-off-by: Tomas Cohen Arazi --- C4/Circulation.pm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/C4/Circulation.pm b/C4/Circulation.pm index d2009981ae..f76d9234d4 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -2138,7 +2138,6 @@ sub AddReturn { my $patron_unblessed = $patron ? $patron->unblessed : {}; my $update_loc_rules = C4::Context->yaml_preference('UpdateItemLocationOnCheckin'); - map { $update_loc_rules->{$_} = $update_loc_rules->{$_}[0] } keys %$update_loc_rules; #We can only move to one location so we flatten the arrays if ($update_loc_rules) { if (defined $update_loc_rules->{_ALL_}) { if ($update_loc_rules->{_ALL_} eq '_PERM_') { $update_loc_rules->{_ALL_} = $item->permanent_location; } @@ -2154,8 +2153,8 @@ sub AddReturn { else { foreach my $key ( keys %$update_loc_rules ) { if ( $update_loc_rules->{$key} eq '_PERM_' ) { $update_loc_rules->{$key} = $item->permanent_location; } - if ( $update_loc_rules->{$key} eq '_BLANK_') { $update_loc_rules->{$key} = '' ;} - if ( ($item->location eq $key && $item->location ne $update_loc_rules->{$key}) || ($key eq '_BLANK_' && $item->location eq '' && $update_loc_rules->{$key} ne '') ) { + elsif ( $update_loc_rules->{$key} eq '_BLANK_') { $update_loc_rules->{$key} = '' ;} + if ( (defined $item->location && $item->location eq $key && $item->location ne $update_loc_rules->{$key}) || ($key eq '_BLANK_' && ( !defined $item->location || $item->location eq '' ) && $update_loc_rules->{$key} ne '') ) { $messages->{'ItemLocationUpdated'} = { from => $item->location, to => $update_loc_rules->{$key} }; $item->location($update_loc_rules->{$key})->store({ log_action => 0, skip_record_index => 1, skip_holds_queue => 1}); last; -- 2.39.5