From 80c194907c9ae9f758a2c43c1933e31fdaa2551a Mon Sep 17 00:00:00 2001 From: David Gustafsson Date: Fri, 19 Apr 2024 16:27:46 +0200 Subject: [PATCH] Bug 26744: Don't delete extended attributes outside of method And fix bug where $attribute_changes was overwritten instead of assigned default value. Signed-off-by: Clemens Tubach --- Koha/Patron.pm | 4 ++-- members/memberentry.pl | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Koha/Patron.pm b/Koha/Patron.pm index b2e58ae11b..048553c6b4 100644 --- a/Koha/Patron.pm +++ b/Koha/Patron.pm @@ -2140,7 +2140,7 @@ sub extended_attributes { if (C4::Context->preference("BorrowersLog")) { for my $attribute ($self->extended_attributes->as_list) { my $repeatable = $attribute->type->repeatable ? 1 : 0; - $attribute_changes{$repeatable}->{$attribute_key->($attribute)}->{before} = []; + $attribute_changes{$repeatable}->{$attribute_key->($attribute)}->{before} //= []; push ( @{$attribute_changes{$repeatable}->{$attribute_key->($attribute)}->{before}}, $attribute->attribute @@ -2181,7 +2181,7 @@ sub extended_attributes { if (C4::Context->preference("BorrowersLog")) { for my $attribute ($self->extended_attributes->as_list) { my $repeatable = $attribute->type->repeatable ? 1 : 0; - $attribute_changes{$repeatable}->{$attribute_key->($attribute)}->{after} = []; + $attribute_changes{$repeatable}->{$attribute_key->($attribute)}->{after} //= []; push ( @{$attribute_changes{$repeatable}->{$attribute_key->($attribute)}->{after}}, $attribute->attribute diff --git a/members/memberentry.pl b/members/memberentry.pl index e28e8c1449..ca2f2368f8 100755 --- a/members/memberentry.pl +++ b/members/memberentry.pl @@ -569,7 +569,6 @@ if ((!$nok) and $nodouble and ($op eq 'cud-insert' or $op eq 'cud-save')){ if ( $success ) { if (C4::Context->preference('ExtendedPatronAttributes') and $input->param('setting_extended_patron_attributes')) { - $patron->extended_attributes->filter_by_branch_limitations->delete; $patron->extended_attributes($extended_patron_attributes); } -- 2.30.2