From 571521ba13eccdd9f309d4d9a2c49c353be86fda Mon Sep 17 00:00:00 2001 From: Fridolin Somers Date: Thu, 14 Mar 2024 16:37:21 +0100 Subject: [PATCH] Bug 36321: Problem when dateexpiry in BorrowerUnwantedField hen dateexpiry is in BorrowerUnwantedField it is hidden in patron edition form. The problem is when editing an existing patron the value is re-computed with category settings, as if it where empty. This comes from all fields in BorrowerUnwantedField beeing removed from %newdata in memberentry.pl. Whe must skip dateexpiry. Test plan : 1) Be sure dateexpiry is not in BorrowerUnwantedField 2) Define a patron category with enrollment period 12 month 3) Create a new patron in this category 4) Its expiration date is in now + 12 month 5) Edit the patron category to set enrollment period 6 month 6) Add dateexpiry in BorrowerUnwantedField 7) Edit the patron and save => Without patch the expiration date is changed to now + 6 month => With patch the exporation date is unchanged Signed-off-by: Andrew Fuerste-Henry Signed-off-by: Lucas Gass Perl-tidied. Signed-off-by: Katrin Fischer --- members/memberentry.pl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/members/memberentry.pl b/members/memberentry.pl index b7d8a4a1a4..6c43b3db46 100755 --- a/members/memberentry.pl +++ b/members/memberentry.pl @@ -234,7 +234,9 @@ if ( $op eq 'cud-insert' || $op eq 'edit_form' || $op eq 'cud-save' || $op eq 'd qr/^guarantor_surname$/, qr/^delete_guarantor$/, ); - push @keys_to_delete, map { qr/^$_$/ } split( /\s*\|\s*/, C4::Context->preference('BorrowerUnwantedField') || q{} ); + push @keys_to_delete, + map { qr/^$_$/ } + grep { $_ ne 'dateexpiry' } split( /\s*\|\s*/, C4::Context->preference('BorrowerUnwantedField') || q{} ); push @keys_to_delete, qr/^password_expiration_date$/ unless $CanUpdatePasswordExpiration; for my $regexp (@keys_to_delete) { for (keys %newdata) { -- 2.20.1