From 7f4a7e495876a44c4401f114671f1994d3902596 Mon Sep 17 00:00:00 2001 From: Bernard Scaife Date: Mon, 3 Nov 2025 15:12:13 +0000 Subject: [PATCH] Bug 41073: Fix default expiry date which is being ignored Fixes regression in which default expiry date is ignored due to regression introduced by fix for bug 34483. If default expiry date is completed in patron import tool, the value is ignored and expiry date unaltered. This patch fixes this error. Test plan: 1. User should exist and have expiry date in future (say 2099-12-31) 2. Save above as file 3. Tools > Import users 4. Choose file saved in 2 5. Field to use for record matching: cardnumber 6. In default values set expiration date to a date in past (say 2025-10-19) using date picker 7. Select overwrite the existing one with this 8. Leave renew existing patrons as "use the expiration date in the file if present" 9. Run 10. Observe user expiry date is still 2099-12-31 11. Apply patch / restart_all 12. Repeat 4 - 9 above 13. Observe user expiry date is now 2025-10-19 Signed-off-by: Eric Phetteplace --- Koha/Patrons/Import.pm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Koha/Patrons/Import.pm b/Koha/Patrons/Import.pm index da17e7f169..4a995caf4e 100644 --- a/Koha/Patrons/Import.pm +++ b/Koha/Patrons/Import.pm @@ -308,7 +308,9 @@ LINE: while ( my $borrowerline = <$handle> ) { next if $col eq 'dateexpiry' && $update_dateexpiry; $borrower{$col} = $member->{$col} - if $col eq 'dateexpiry' && ( !$csvkeycol{$col} || !$columns[ $csvkeycol{$col} ] ); + if $col eq 'dateexpiry' + && ( !$csvkeycol{$col} || !$columns[ $csvkeycol{$col} ] ) + && !$borrower{$col}; unless ( exists( $csvkeycol{$col} ) || $defaults->{$col} ) { $borrower{$col} = $member->{$col} if ( $member->{$col} ); -- 2.53.0