From abe0ef10ad51e7f7e8f37fde019d64d47da70447 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. --- 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 59330fe07dd..e0758b6031c 100644 --- a/Koha/Patron.pm +++ b/Koha/Patron.pm @@ -2133,7 +2133,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 @@ -2174,7 +2174,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 b7d8a4a1a48..58deab9287c 100755 --- a/members/memberentry.pl +++ b/members/memberentry.pl @@ -573,7 +573,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.43.0