While testing an idea of adding “TicketHistory” to search result pages
(for creating those long, tree killling, management/SOX style reports),
I found a feature of the advanced Query/ParseFormat that satisfied a
need but seemed unused?
It looks like at some point /style: /class: options flags were
considered for extending the advanced results formatting? I do not see
where these were used? Did I miss it? I am not certain where these
were being considered for, but they seemed most appropriate to adjust
the table cell (TD) element containing the field.
In any case, I made a couple of changes to Row to allow these to be
utilized. I wanted the ability to tweak colspan as well, so I added
that to ParseFormat as well. I’ll include these patches once I clean up
the rest of the things I want to submit, but for now, here are snippets
of them for consideration/discussion.
(Note: the colspan currently works best as the last line of the Row
Group. /colspan:all should probably really imply end of format or a
NEWLINE after if other output fields exist).
Cheers,
Brian
html/Elements/CollectionAsTable/Row
- my $tdflags = “”;
- if ($column->{colspan} > $maxitems or $column->{colspan} =~
/^all/i) { -
$tdflags .= qq{colspan="$maxitems" };
- } elsif ($column->{colspan}) {
-
$tdflags .= qq{colspan="$column->{colspan}" };
- }
- foreach (qw(style class)) {
-
$tdflags .= qq{$_="$column->{$_}" } if $column->{$_};
- }
- $m->out(qq{<td class=“collection-as-table” $tdflags>});
foreach my $subcol ( @{ $column->{output} } ) {
if ( $subcol =~ /^(.*?)$/o ) {
my $col = $1;
— share/html/Elements/CollectionAsTable/ParseFormat 2005-02-01
09:20:40.000000000 -0500
+++ local/html/Elements/CollectionAsTable/ParseFormat 2005-05-17
23:46:31.046424320 -0400
@@ -63,6 +63,9 @@
if ( $col =~ s//STYLE:(.*?)$//io ) {
$colref->{‘style’} = $1;
}
- if ( $col =~ s//COLSPAN:(.*?)$//io ) {
-
$colref->{'colspan'} = $1;
- }
if ( $col =~ s//CLASS:(.*?)$//io ) {
$colref->{‘class’} = $1;
}
— share/html/Elements/RT__Ticket/ColumnMap 2005-05-01
01:35:17.122850216 -0
400
+++ local/html/Elements/RT__Ticket/ColumnMap 2005-05-18
00:27:17.558497952 -0
400
@@ -134,7 +134,7 @@
value => sub { return $_[0]->Subject || “(” . loc(‘No subject’)
. “)” }
},
ExtendedStatus => {
-
title => 'Status',
-
title => 'Detailed Status', attribute => 'Status', value => sub { my $Ticket = shift;
@@ -244,16 +244,19 @@
value => sub { return $_[0]->ResolvedObj->AgeAsString }
},
Starts => {
-
title => "Start Time", attribute => 'Starts',
-
value => sub { return $_[0]->StartsObj->AsString }
-
},value => sub { return $_[0]->StartsObj->AsString(@_); }
- Started => {
- Started => {
-
title => "Started Time", attribute => 'Started',
-
value => sub { return $_[0]->StartedObj->AsString }
-
},value => sub { return $_[0]->StartedObj->AsString(@_); }
Created => { -
title => "Created Time", attribute => 'Created',
-
value => sub { return $_[0]->CreatedObj->AsString }
-
},value => sub { return $_[0]->CreatedObj->AsString(@_); }
CreatedBy => {
attribute => ‘CreatedBy’,
@@ -262,8 +265,8 @@
},
LastUpdated => {
attribute => ‘LastUpdated’,
-
title => 'Last Updated',
-
value => sub { return $_[0]->LastUpdatedObj->AsString }
-
title => 'Last Updated Time',
-
value => sub { return $_[0]->LastUpdatedObj->AsString(@_);
}
},
LastUpdatedBy => {
attribute => ‘LastUpdatedBy’,
@@ -271,16 +274,28 @@
value => sub { return $_[0]->LastUpdatedByObj->Name }
},
Told => {
-
title => "Told Time", attribute => 'Told',
-
value => sub { return $_[0]->ToldObj->AsString }
-
},value => sub { return $_[0]->ToldObj->AsString(@_); }
Due => { -
title => "Due Time", attribute => 'Due',
-
value => sub { return $_[0]->DueObj->AsString }
-
},value => sub { return $_[0]->DueObj->AsString(@_); }
Resolved => { -
title => "Resolved Time", attribute => 'Resolved',
-
value => sub { return $_[0]->ResolvedObj->AsString }
-
value => sub { return $_[0]->ResolvedObj->AsString(@_); }
- },
- TicketHistory => {
-
title => "TicketHistory",
-
attribute => 'id',
-
value => sub { return
($m->comp("/Ticket/Elements/ShowHistory",
-
"Ticket" => $_[0]),
-
\"<br style='page-break-after:
always;’/>");
+# XXX Should including the TicketHistory field could force a page
+# break after when printing results, or should this be up to the user
+# to add something such as the above to the format? It could possibly
+# be added to the stylesheet as well if there is an appropriate
+# classed tag somewhere related.
+# Unfortunately it looks like Firefox does not currently support the
+# page-break tags. --BD
-
},}