From 74589116b712115a4b199585715ff7c1487cc18c Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 17 Mar 2015 09:44:30 +0100 Subject: [PATCH] Bug 13601: The fallback regex should contain the time part On displaying a sql date, if the dateformat is not set to sql, the output should contain the date. In the previous version, the fallback regex (used for sql format) did not included the time part (hh:mm:ss). --- Koha/DateUtils.pm | 4 +++- t/DateUtils.t | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Koha/DateUtils.pm b/Koha/DateUtils.pm index 3f44f83..7a98120 100644 --- a/Koha/DateUtils.pm +++ b/Koha/DateUtils.pm @@ -105,7 +105,7 @@ sub dt_from_string { } # Add the faculative time part [hh:mm[:ss]] - $regex .= qr| + my $time_re .= qr| ( \s* (?\d{2}) @@ -117,6 +117,8 @@ sub dt_from_string { )? )? |xms; + $regex .= $time_re; + $fallback_re .= $time_re; my %dt_params; if ( $date_string =~ $regex ) { diff --git a/t/DateUtils.t b/t/DateUtils.t index 7705fd4..1af4268 100755 --- a/t/DateUtils.t +++ b/t/DateUtils.t @@ -3,7 +3,7 @@ use DateTime; use DateTime::TimeZone; use C4::Context; -use Test::More tests => 54; +use Test::More tests => 55; use Test::MockModule; use Time::HiRes qw/ gettimeofday /; use t::lib::Mocks; @@ -211,3 +211,7 @@ is( output_pref( { dt => $dt } ), '31/01/2015 12:34', 'dt_from_string should mat # date before 1900 $dt = dt_from_string('01/01/1900'); is( output_pref( { dt => $dt, dateonly => 1 } ), '01/01/1900', 'dt_from_string should manage date < 1900' ); + +# fallback +$dt = dt_from_string('2015-01-31 01:02:03'); +is( output_pref( {dt => $dt} ), '31/01/2015 01:02', 'dt_from_string should fallback to sql format' ); -- 2.1.0