diff options
Diffstat (limited to 'rt/html/Elements/CollectionAsTable/Header')
-rw-r--r-- | rt/html/Elements/CollectionAsTable/Header | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/rt/html/Elements/CollectionAsTable/Header b/rt/html/Elements/CollectionAsTable/Header new file mode 100644 index 000000000..2d1574dea --- /dev/null +++ b/rt/html/Elements/CollectionAsTable/Header @@ -0,0 +1,91 @@ +%# BEGIN LICENSE BLOCK; +%# +%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> +%# +%# (Except where explictly superceded by other copyright notices) +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +%# +%# Unless otherwise specified, all modifications, corrections or +%# extensions to this work which alter its source code become the +%# property of Best Practical Solutions, LLC when submitted for +%# inclusion in the work. +%# +%# +%# END LICENSE BLOCK + +<%ARGS> +@Format => undef +$AllowSorting => undef +$Order=>undef +$BaseURL => undef +$Query => undef +$Rows => undef +$Page => undef +$maxitems => undef +</%ARGS> +<TR> +<%perl> + +my %generic_query_args = ( Query => $Query, Rows => $Rows, Page => $Page ); + +my $item = 0; +$$maxitems = 0; +foreach my $col (@Format) { + $item++; + $$maxitems = $item if $item > $$maxitems; + if ( $col->{title} eq 'NEWLINE' ) { + $m->out('</TR> <TR>'); + $item = 0; + } + else { + $m->out('<TH align="center">'); + my $title = $col->{title}; + $title =~ s/^__(.*)__$/$1/o; + $title = ( $m->comp('/Elements/RT__Ticket/ColumnMap', + Name => $title, + Attr => 'title' + ) + || $title + ); + if ( $AllowSorting + && $col->{'attribute'} + && $m->comp('/Elements/RT__Ticket/ColumnMap', + Name => $col->{'attribute'}, + Attr => 'attribute' ) + ) + { + + $m->out( + '<a href="' . $BaseURL + . $m->comp( + '/Elements/QueryString', + %generic_query_args, + OrderBy => ( + $m->comp('/Elements/RT__Ticket/ColumnMap', + Name => $col->{'attribute'}, + Attr => 'attribute' + ) + || $col->{'attribute'} + ), + Order => ( $ARGS{'Order'} eq 'ASC' ? 'DESC' : 'ASC' ) + ). + '">' . loc($title) . '</a>' + ); + } + else { + $m->out( loc($title) ); + } + $m->out('</TH>'); + } +} +</%perl> +</TR> |