From e9a0b4e11e23ee2be9f2416346fce9e06a70cd02 Mon Sep 17 00:00:00 2001 From: mark Date: Sat, 30 Apr 2011 20:29:03 +0000 Subject: Excel date formatting, #12659 --- .../html/Search/Elements/ResultsStructuredView | 25 ++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) (limited to 'rt/share/html/Search/Elements/ResultsStructuredView') diff --git a/rt/share/html/Search/Elements/ResultsStructuredView b/rt/share/html/Search/Elements/ResultsStructuredView index cf6b2e821..495f0d0c8 100644 --- a/rt/share/html/Search/Elements/ResultsStructuredView +++ b/rt/share/html/Search/Elements/ResultsStructuredView @@ -50,9 +50,11 @@ $Query => undef $OrderBy => 'id' $Order => 'ASC' $Format => undef + #Callbacks $WriteHeader => sub { $RT::Logger->error('WriteHeader callback required'); '' } $WriteRow => sub { $RT::Logger->error('WriteRow callback required'); '' } +$FormatDate => sub { $_[0]->AsString } <%INIT> @@ -129,12 +131,23 @@ while ( my $Ticket = $Tickets->Next()) { } if ( !exists $ColumnMap->{$col}{'value'} ) { - $ColumnMap->{$col}{'value'} = $m->comp( - '/Elements/ColumnMap', - Class => 'RT__Ticket', - Name => $col, - Attr => 'value', - ); + my $map = {}; + foreach ('attribute', 'value', 'date') { + $map->{$_} = $m->comp( + '/Elements/ColumnMap', + Class => 'RT__Ticket', + Name => $col, + Attr => $_, + ); + } + # Canonicalize dates + if ( defined $map->{'date'} ) { + $map->{value} = sub { + my $DateObj = $map->{'date'}->(@_) or return undef; + $FormatDate->($DateObj); + }; + } + $ColumnMap->{$col} = $map; } push @out, ProcessColumnMapValue( -- cgit v1.2.1