Bug 8391: prevent error when viewing circ history with bad dates
Sometime the circ history will contain "0000-00-00" as a returndate when an item was lost rather than returned. This currently causes an error when attempting to parse the dates, this patch causes an empty string to be returned instead. Note: a future enhancement should distinguish between "no date provided" and "invalid date provided" to allow distinctions to be made. Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
This commit is contained in:
parent
75504a2115
commit
694e6bebfd
|
|
@ -80,6 +80,7 @@ sub dt_from_string {
|
|||
} elsif ( $date_format eq 'sql' ) {
|
||||
$date_string =~
|
||||
s/(\d{4})(\d{2})(\d{2})\s+(\d{2})(\d{2})(\d{2})/$1-$2-$3T$4:$5:$6/;
|
||||
return if ($date_string =~ /^0000-00-00/);
|
||||
$date_string =~ s/00T/01T/;
|
||||
}
|
||||
}
|
||||
|
|
@ -158,7 +159,8 @@ sub format_sqldatetime {
|
|||
my $force_pref = shift; # if testing we want to override Context
|
||||
if ( defined $str && $str =~ m/^\d{4}-\d{2}-\d{2}/ ) {
|
||||
my $dt = dt_from_string( $str, 'sql' );
|
||||
$dt->truncate( to => 'minutes' );
|
||||
return q{} unless $dt;
|
||||
$dt->truncate( to => 'minute' );
|
||||
return output_pref( $dt, $force_pref );
|
||||
}
|
||||
return q{};
|
||||
|
|
|
|||
Loading…
Reference in New Issue