Bugzilla – Attachment 103370 Details for
Bug 25133
Specify Due date changes from PM to AM if library has their TimeFormat set to 12hr
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 25133: Handle 12hr format for dt_from_string
Bug-25133-Handle-12hr-format-for-dtfromstring.patch (text/plain), 3.82 KB, created by
ByWater Sandboxes
on 2020-04-21 12:32:46 UTC
(
hide
)
Description:
Bug 25133: Handle 12hr format for dt_from_string
Filename:
MIME Type:
Creator:
ByWater Sandboxes
Created:
2020-04-21 12:32:46 UTC
Size:
3.82 KB
patch
obsolete
>From af18af5dce8cea2c8a85ffaf7bf569edd386f8eb Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >Date: Mon, 20 Apr 2020 10:59:55 +0200 >Subject: [PATCH] Bug 25133: Handle 12hr format for dt_from_string > >Signed-off-by: Nick Clemens <nick@bywatersolutions.com> > >Signed-off-by: Kelly McElligott <kelly@bywatersolutions.com> >--- > Koha/DateUtils.pm | 9 +++++++++ > circ/circulation.pl | 2 +- > t/DateUtils.t | 13 ++++++++++++- > 3 files changed, 22 insertions(+), 2 deletions(-) > >diff --git a/Koha/DateUtils.pm b/Koha/DateUtils.pm >index c20256c21d..0475312d07 100644 >--- a/Koha/DateUtils.pm >+++ b/Koha/DateUtils.pm >@@ -139,12 +139,17 @@ sub dt_from_string { > : > (?<second>\d{2}) > )? >+ ( >+ \s >+ (?<ampm>\w{2}) >+ )? > )? > |xms; > $regex .= $time_re; > $fallback_re .= $time_re; > > my %dt_params; >+ my $ampm; > if ( $date_string =~ $regex ) { > %dt_params = ( > year => $+{year}, >@@ -154,6 +159,7 @@ sub dt_from_string { > minute => $+{minute}, > second => $+{second}, > ); >+ $ampm = $+{ampm}; > } elsif ( $date_string =~ $fallback_re ) { > %dt_params = ( > year => $+{year}, >@@ -163,6 +169,7 @@ sub dt_from_string { > minute => $+{minute}, > second => $+{second}, > ); >+ $ampm = $+{ampm}; > } > else { > die "The given date ($date_string) does not match the date format ($date_format)"; >@@ -176,6 +183,8 @@ sub dt_from_string { > $dt_params{minute} = 00 unless defined $dt_params{minute}; > $dt_params{second} = 00 unless defined $dt_params{second}; > >+ $dt_params{hour} += 12 if $ampm && $ampm eq 'PM'; >+ > my $dt = eval { > DateTime->new( > %dt_params, >diff --git a/circ/circulation.pl b/circ/circulation.pl >index 19feb305f5..81c3bcdf56 100755 >--- a/circ/circulation.pl >+++ b/circ/circulation.pl >@@ -170,7 +170,7 @@ for my $barcode ( @$barcodes ) { > > my $stickyduedate = $query->param('stickyduedate') || $session->param('stickyduedate'); > my $duedatespec = $query->param('duedatespec') || $session->param('stickyduedate'); >-$duedatespec = eval { output_pref( { dt => dt_from_string( $duedatespec ), dateformat => 'iso', timeformat => '24hr' }); } >+$duedatespec = eval { output_pref( { dt => dt_from_string( $duedatespec ), dateformat => 'iso' }); } > if ( $duedatespec ); > my $restoreduedatespec = $query->param('restoreduedatespec') || $duedatespec || $session->param('stickyduedate'); > if ( $restoreduedatespec && $restoreduedatespec eq "highholds_empty" ) { >diff --git a/t/DateUtils.t b/t/DateUtils.t >index 8a606d6cc6..3c861d6fbe 100755 >--- a/t/DateUtils.t >+++ b/t/DateUtils.t >@@ -4,7 +4,7 @@ use DateTime::TimeZone; > > use C4::Context; > >-use Test::More tests => 72; >+use Test::More tests => 76; > > use Test::MockModule; > use Test::Warn; >@@ -249,6 +249,17 @@ is( output_pref( { dt => $dt, dateonly => 1 } ), '01/01/1900', 'dt_from_string s > $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' ); > >+# 12hr format >+$dt = dt_from_string('2015-01-31 01:02 AM'); >+is( output_pref( {dt => $dt} ), '31/01/2015 01:02', 'dt_from_string ' ); >+$dt = dt_from_string('2015-01-31 01:02:03 AM'); >+is( output_pref( {dt => $dt} ), '31/01/2015 01:02', 'dt_from_string ' ); >+$dt = dt_from_string('2015-01-31 01:02 PM'); >+is( output_pref( {dt => $dt} ), '31/01/2015 13:02', 'dt_from_string ' ); >+$dt = dt_from_string('2015-01-31 01:02:03 PM'); >+is( output_pref( {dt => $dt} ), '31/01/2015 13:02', 'dt_from_string ' ); >+ >+ > # output_pref with no parameters, single parameter (no hash) > is( output_pref(), undef, 'Call output_pref without parameters' ); > try { >-- >2.11.0
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 25133
:
103137
|
103236
|
103366
|
103367
|
103368
|
103369
|
103370
|
103371
|
104228
|
104229
|
104230
|
104260
|
104269