From a5ec4114e3013399e5a37c95f23753e903827143 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 17 Mar 2015 09:44:30 +0100 Subject: [PATCH] [PASSED QA] Bug 13601: The fallback regex should contain the time part MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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). Checked out an item with due date an ddue time. Time displays as expected. Signed-off-by: Marc VĂ©ron Signed-off-by: Katrin Fischer --- 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' ); -- 1.9.1