From 31e0e7a02416c6e04fff76da63d1dc15669ff4f1 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Fri, 25 Aug 2023 14:51:28 +0000 Subject: [PATCH] Bug 34617: Preserve calculated expiration dates if set to update on import whether column included or not To test: 1 - Setup a csv with column headers: surname firstname branchcode categorycode cardnumber dateenrolled 2 - add values Acosta Edna CPL PT 23529001000463 02/01/2013 3 - Set PT catgeory enrollement period to a specific date in the future 4 - Import the file and overwrite patrons and update dateexpiration 5 - Check Edna, note her date is not correct 6 - Apply patch 7 - Repeat 8 - Expiration date is now set as expected Signed-off-by: David Nind Signed-off-by: Marcel de Rooy Signed-off-by: Tomas Cohen Arazi (cherry picked from commit ed2b395a1084d9c064e1631f3f68215ce9df7702) Signed-off-by: Fridolin Somers (cherry picked from commit 0cdabc65f0494252cfb391f88888ae732a2bfd4c) Signed-off-by: Matt Blenkinsop --- Koha/Patrons/Import.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Koha/Patrons/Import.pm b/Koha/Patrons/Import.pm index 3ba184d1e2..73d5355149 100644 --- a/Koha/Patrons/Import.pm +++ b/Koha/Patrons/Import.pm @@ -279,7 +279,8 @@ sub import_patrons { # FIXME : You cannot update a field with a perl-evaluated false value using the defaults. # The password is always encrypted, skip it unless we are forcing overwrite! - next if $col eq 'password' && !$overwrite_passwords; + next if $col eq 'password' && !$overwrite_passwords; + next if $col eq 'dateexpiry' && $update_dateexpiry; unless ( exists( $csvkeycol{$col} ) || $defaults->{$col} ) { $borrower{$col} = $member->{$col} if ( $member->{$col} ); -- 2.39.5