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.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Shi Yao Wang <shi-yao.wang@inlibro.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit e048144d80)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
This commit is contained in:
Pedro Amorim 2024-08-06 09:41:32 +00:00 committed by Lucas Gass
parent 5e07ef7ae7
commit 36d2eb2fa7
1 changed files with 1 additions and 0 deletions

View File

@ -1551,6 +1551,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;
}