From c804422f11f7029608cbfa1ecd3f853a3e2b7ffa 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 --- 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.30.2