diff options
Diffstat (limited to 'rt/share/html/Search/Elements/ResultsStructuredView')
-rw-r--r-- | rt/share/html/Search/Elements/ResultsStructuredView | 25 |
1 files changed, 19 insertions, 6 deletions
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 } </%ARGS> <%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( |