summaryrefslogtreecommitdiff
path: root/rt/share/html/Search/Elements/ResultsStructuredView
diff options
context:
space:
mode:
Diffstat (limited to 'rt/share/html/Search/Elements/ResultsStructuredView')
-rw-r--r--rt/share/html/Search/Elements/ResultsStructuredView25
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(