From 73d1d3743eed1b7969bfd593733562a5cd7fabf9 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 17 Mar 2015 09:44:30 +0100 Subject: [PATCH] [Signed-off] 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 --- 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.7.10.4