import rt 3.2.2
[freeside.git] / rt / html / Elements / CollectionAsTable / Header
diff --git a/rt/html/Elements/CollectionAsTable/Header b/rt/html/Elements/CollectionAsTable/Header
new file mode 100644 (file)
index 0000000..2d1574d
--- /dev/null
@@ -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>