From 881a4139972b35804c3b6704784346b0298d3e6d 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. --- C4/Letters.pm | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/C4/Letters.pm b/C4/Letters.pm index 0afd344..933d43e 100644 --- a/C4/Letters.pm +++ b/C4/Letters.pm @@ -640,7 +640,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 }); }; -- 1.7.7.4