From d39d52aac8f38ea9115628039f0df5aa3ac826de Mon Sep 17 00:00:00 2001 From: ivan Date: Fri, 3 Dec 2004 20:40:48 +0000 Subject: import rt 3.2.2 --- rt/html/Elements/TicketList | 121 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 rt/html/Elements/TicketList (limited to 'rt/html/Elements/TicketList') diff --git a/rt/html/Elements/TicketList b/rt/html/Elements/TicketList new file mode 100644 index 000000000..80d59f8c6 --- /dev/null +++ b/rt/html/Elements/TicketList @@ -0,0 +1,121 @@ +%# BEGIN LICENSE BLOCK; +%# +%# Copyright (c) 1996-2003 Jesse Vincent +%# +%# (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 + +%# If you're having TicketList display a single record, you need +%# to wrap the calls in your own table(s). +% unless (defined $SingleRecord) { + +% } + +% if ($ShowHeader) { +<& /Elements/CollectionAsTable/Header, + Format => \@Format, + AllowSorting => $AllowSorting, + Order => $Order, + Query => $Query, + Rows => $Rows, + Page => $Page, + OrderBy => $OrderBy , + BaseURL => $BaseURL, + maxitems => \$maxitems &> +% } + +% if (defined $SingleRecord) { +<& /Elements/CollectionAsTable/Row, Format => \@Format, i => 0, record => $SingleRecord, maxitems => $maxitems &> +% } else { +% my $i; +% while (my $record = $Collection->Next) { +% $i++; +<& /Elements/CollectionAsTable/Row, Format => \@Format, i => $i, record => $record, maxitems => $maxitems &> +% } +% } + +% unless (defined $SingleRecord) { +
+% } + +% if ($ShowNavigation) { +
+<&|/l, $Page, int($TotalFound/$Rows)+1&>Page [_1] of [_2] + +<%perl> +my $prev = $m->comp('/Elements/QueryString', + Query => $Query, + Format => $Format, + Rows => $Rows, + OrderBy => $OrderBy, + Order => $Order, + Page => ($Page-1)); +my $next = $m->comp('/Elements/QueryString', + Query => $Query, + Format => $Format, + Rows => $Rows, + OrderBy => $OrderBy, + Order => $Order, + Page => ($Page+1)); + +% if ($Page > 1) { +<&|/l&>Previous Page +% } +% if (($Page * $Rows) < $TotalFound) { +<&|/l&>Next Page +% } +% } +<%INIT> +my $maxitems; + +$Format ||= $RT::DefaultSearchResultFormat; +# Scrub the html of the format string to remove any potential nasties. +$Format = $m->comp('/Elements/ScrubHTML', Content => $Format); + +$Rows ||= '25'; # we need a positive value + +unless ($Collection) { + $Collection = RT::Tickets->new($session{'CurrentUser'}); + $Collection->FromSQL($Query); +} + +my (@Format) = $m->comp('/Elements/CollectionAsTable/ParseFormat', Format => $Format); + +$Collection->OrderBy(FIELD => $OrderBy, ORDER => $Order); +$Collection->RowsPerPage($Rows); +$Collection->GotoPage($Page-1); # SB uses page 0 as the first page +my $TotalFound = $Collection->CountAll(); + + +<%ARGS> +$Query => undef +$Rows => 10 +$Page => 1 +$Title => 'Ticket Search' +$Collection => undef +$SingleRecord => undef +$AllowSorting => undef +$Order => undef +$OrderBy => undef +$BaseURL => undef +$Format => $RT::DefaultSearchResultFormat +$ShowNavigation => 1 +$ShowHeader => 1 + -- cgit v1.2.1