From 8f68dad1f2a872fc30b579180c6a5a415cdd77a1 Mon Sep 17 00:00:00 2001 From: David Cook Date: Mon, 20 Jan 2014 13:52:38 +1100 Subject: [PATCH] Bug 11244: (follow-up) Fix $dateonly flag At the moment, $dateonly is set to true when $1 is defined. However, since the regex capture group only includes the time, this flag will only be set when there is a value that includes a time. In effect, this means that timestamps are reduced to dates only, while dates have 00-00-0000 added to them. This patch keeps the logic but reverses the values, so that $dateonly will default to true unless $1 is defined. Signed-off-by: Kyle M Hall Signed-off-by: Jonathan Druart Signed-off-by: Tomas Cohen Arazi --- C4/Letters.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/Letters.pm b/C4/Letters.pm index 0ccbd3ac75..a3fcbb7f53 100644 --- a/C4/Letters.pm +++ b/C4/Letters.pm @@ -622,7 +622,7 @@ sub _parseletter { my $replacedby = defined ($val) ? $val : ''; if ( $replacedby and $replacedby =~ m|^\d{4}-\d{2}-\d{2}( \d{2}:\d{2}:\d{2})?$| ) { # If the value is XXXX-YY-ZZ[ AA:BB:CC] we assume it is a date - my $dateonly = defined $1 ? 1 : 0; + my $dateonly = defined $1 ? 0 : 1; #$1 refers to the capture group wrapped in parentheses. In this case, that's the hours, minutes, seconds. eval { $replacedby = output_pref({ dt => dt_from_string( $replacedby ), dateonly => $dateonly }); }; -- 2.39.2