From bfc1cdccccfe6359538259441fe2b135769f51e9 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 (cherry picked from commit 571521ba13eccdd9f309d4d9a2c49c353be86fda) Signed-off-by: Fridolin Somers (cherry picked from commit c65b3a38138516e5aabdbe09653ec2828be9d9c4) Signed-off-by: Lucas Gass --- members/memberentry.pl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/members/memberentry.pl b/members/memberentry.pl index 52035e8ef1..57a28eeb3a 100755 --- a/members/memberentry.pl +++ b/members/memberentry.pl @@ -229,7 +229,9 @@ 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.39.5