From 608d20e53fddd5c057f6b7dcd5a01a68994620f0 Mon Sep 17 00:00:00 2001 From: Pedro Amorim Date: Tue, 6 Aug 2024 09:41:32 +0000 Subject: [PATCH] Bug 31143: Work around subtracting datetime if date_of_birth undef To test: 1) Run the following SQL: update borrowers set dateofbirth = '0000-00-00' where borrowernumber = 45; 2) Access the borrower edit page through staff UI: http://localhost:8081/cgi-bin/koha/members/memberentry.pl?op=edit_form&destination=circ&borrowernumber=45 3) Notice you get an error 4) Run the script: perl misc/maintenance/search_for_data_inconsistencies.pl 5) Notice you get an error 6) Apply patch restart plack and repeat -> no errors This is not perfect but its all I have time for, for now. Follow-ups are welcomed as always. --- Koha/Patron.pm | 1 + 1 file changed, 1 insertion(+) diff --git a/Koha/Patron.pm b/Koha/Patron.pm index 04c8ef6814..08f787e4db 100644 --- a/Koha/Patron.pm +++ b/Koha/Patron.pm @@ -1527,6 +1527,7 @@ sub get_age { my $date_of_birth = dt_from_string( $self->dateofbirth, undef, 'floating' ); my $today = dt_from_string(undef, undef, 'floating')->truncate( to => 'day' ); + return 0 unless $date_of_birth; return $today->subtract_datetime( $date_of_birth )->years; } -- 2.39.2