View | Details | Raw Unified | Return to bug 11244
Collapse All | Expand All

(-)a/C4/Letters.pm (-1 / +13 lines)
Lines 608-613 sub _parseletter_sth { Link Here
608
608
609
sub _parseletter {
609
sub _parseletter {
610
    my ( $letter, $table, $values ) = @_;
610
    my ( $letter, $table, $values ) = @_;
611
    my $dbh = C4::Context->dbh;
612
    my $is_date_sql = q{
613
        SELECT COUNT(*)
614
        FROM INFORMATION_SCHEMA.COLUMNS
615
        WHERE TABLE_NAME = ?
616
          AND COLUMN_NAME = ?
617
          AND TABLE_SCHEMA = ?
618
          AND DATA_TYPE IN ( 'date', 'datetime', 'timestamp' )
619
    };
611
620
612
    if ( $table eq 'reserves' && $values->{'waitingdate'} ) {
621
    if ( $table eq 'reserves' && $values->{'waitingdate'} ) {
613
        my @waitingdate = split /-/, $values->{'waitingdate'};
622
        my @waitingdate = split /-/, $values->{'waitingdate'};
Lines 634-639 sub _parseletter { Link Here
634
            #but excludes items. Removed unneeded global and lookahead.
643
            #but excludes items. Removed unneeded global and lookahead.
635
644
636
        my $replacedby   = defined ($val) ? $val : '';
645
        my $replacedby   = defined ($val) ? $val : '';
646
647
        my ( $is_date ) = $dbh->selectrow_array( $is_date_sql, undef, ( $table, $field, C4::Context->config("database") ) );
648
        $replacedby = output_pref({ dt => dt_from_string( $replacedby ), dateonly => 1 }) if ( $replacedby && $is_date );
649
637
        ($letter->{title}  ) and do {
650
        ($letter->{title}  ) and do {
638
            $letter->{title}   =~ s/$replacetablefield/$replacedby/g;
651
            $letter->{title}   =~ s/$replacetablefield/$replacedby/g;
639
            $letter->{title}   =~ s/$replacefield/$replacedby/g;
652
            $letter->{title}   =~ s/$replacefield/$replacedby/g;
640
- 

Return to bug 11244