From 6319dcfbfa0e24fd0623581e88c7259141d2a2a9 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 --- members/memberentry.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/members/memberentry.pl b/members/memberentry.pl index 57e780cfec..8583d8abaf 100755 --- a/members/memberentry.pl +++ b/members/memberentry.pl @@ -235,7 +235,7 @@ if ( $op eq 'insert' || $op eq 'modify' || $op eq 'save' || $op eq 'duplicate' ) 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.30.2