@@ -, +, @@ the notice. datetime format preferred date format. --- C4/Letters.pm | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-) --- a/C4/Letters.pm +++ a/C4/Letters.pm @@ -608,6 +608,15 @@ sub _parseletter_sth { sub _parseletter { my ( $letter, $table, $values ) = @_; + my $dbh = C4::Context->dbh; + my $is_date_sql = q{ + SELECT COUNT(*) + FROM INFORMATION_SCHEMA.COLUMNS + WHERE TABLE_NAME = ? + AND COLUMN_NAME = ? + AND TABLE_SCHEMA = ? + AND DATA_TYPE IN ( 'date', 'datetime', 'timestamp' ) + }; if ( $table eq 'reserves' && $values->{'waitingdate'} ) { my @waitingdate = split /-/, $values->{'waitingdate'}; @@ -634,6 +643,10 @@ sub _parseletter { #but excludes items. Removed unneeded global and lookahead. my $replacedby = defined ($val) ? $val : ''; + + my ( $is_date ) = $dbh->selectrow_array( $is_date_sql, undef, ( $table, $field, C4::Context->config("database") ) ); + $replacedby = output_pref({ dt => dt_from_string( $replacedby ), dateonly => 1 }) if ( $replacedby && $is_date ); + ($letter->{title} ) and do { $letter->{title} =~ s/$replacetablefield/$replacedby/g; $letter->{title} =~ s/$replacefield/$replacedby/g; --