From 1c3223445d2de179f06486757af648f276a7cc84 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Thu, 4 May 2023 18:39:50 +0000 Subject: [PATCH] Bug 32478: (follow-up) Tidy code Signed-off-by: Nick Clemens Signed-off-by: Marcel de Rooy Signed-off-by: Tomas Cohen Arazi --- C4/Circulation.pm | 65 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 52 insertions(+), 13 deletions(-) diff --git a/C4/Circulation.pm b/C4/Circulation.pm index f76d9234d4..5333d46d4f 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -2139,24 +2139,63 @@ sub AddReturn { my $update_loc_rules = C4::Context->yaml_preference('UpdateItemLocationOnCheckin'); if ($update_loc_rules) { - if (defined $update_loc_rules->{_ALL_}) { - if ($update_loc_rules->{_ALL_} eq '_PERM_') { $update_loc_rules->{_ALL_} = $item->permanent_location; } - if ($update_loc_rules->{_ALL_} eq '_BLANK_') { $update_loc_rules->{_ALL_} = ''; } + if ( defined $update_loc_rules->{_ALL_} ) { + if ( $update_loc_rules->{_ALL_} eq '_PERM_' ) { + $update_loc_rules->{_ALL_} = $item->permanent_location; + } + if ( $update_loc_rules->{_ALL_} eq '_BLANK_' ) { + $update_loc_rules->{_ALL_} = ''; + } if ( - ( defined $item->location && $item->location ne $update_loc_rules->{_ALL_}) || - (!defined $item->location && $update_loc_rules->{_ALL_} ne "") - ) { - $messages->{'ItemLocationUpdated'} = { from => $item->location, to => $update_loc_rules->{_ALL_} }; - $item->location($update_loc_rules->{_ALL_})->store({ log_action => 0, skip_record_index => 1, skip_holds_queue => 1}); + ( + defined $item->location + && $item->location ne $update_loc_rules->{_ALL_} + ) + || ( !defined $item->location + && $update_loc_rules->{_ALL_} ne "" ) + ) + { + $messages->{'ItemLocationUpdated'} = + { from => $item->location, to => $update_loc_rules->{_ALL_} }; + $item->location( $update_loc_rules->{_ALL_} )->store( + { + log_action => 0, + skip_record_index => 1, + skip_holds_queue => 1 + } + ); } } else { foreach my $key ( keys %$update_loc_rules ) { - if ( $update_loc_rules->{$key} eq '_PERM_' ) { $update_loc_rules->{$key} = $item->permanent_location; } - 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}); + if ( $update_loc_rules->{$key} eq '_PERM_' ) { + $update_loc_rules->{$key} = $item->permanent_location; + } + 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