diff options
Diffstat (limited to 'rt/html/Elements/TicketList')
-rw-r--r-- | rt/html/Elements/TicketList | 115 |
1 files changed, 41 insertions, 74 deletions
diff --git a/rt/html/Elements/TicketList b/rt/html/Elements/TicketList index 1a531274f..80d59f8c6 100644 --- a/rt/html/Elements/TicketList +++ b/rt/html/Elements/TicketList @@ -1,14 +1,8 @@ -%# BEGIN BPS TAGGED BLOCK {{{ +%# BEGIN LICENSE BLOCK; %# -%# COPYRIGHT: -%# -%# This software is Copyright (c) 1996-2005 Best Practical Solutions, LLC -%# <jesse@bestpractical.com> +%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> %# -%# (Except where explicitly superseded by other copyright notices) -%# -%# -%# LICENSE: +%# (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 @@ -20,35 +14,23 @@ %# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU %# General Public License for more details. %# -%# You should have received a copy of the GNU General Public License -%# along with this program; if not, write to the Free Software -%# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -%# +%# 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. %# -%# CONTRIBUTION SUBMISSION POLICY: %# -%# (The following paragraph is not intended to limit the rights granted -%# to you to modify and distribute this software under the terms of -%# the GNU General Public License and is only of importance to you if -%# you choose to contribute your changes and enhancements to the -%# community by submitting them to Best Practical Solutions, LLC.) -%# -%# By intentionally submitting any modifications, corrections or -%# derivatives to this work, or any other work intended for use with -%# Request Tracker, to Best Practical Solutions, LLC, you confirm that -%# you are the copyright holder for those contributions and you grant -%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, -%# royalty-free, perpetual, license to use, copy, create derivative -%# works based on those contributions, and sublicense and distribute -%# those contributions and any derivatives thereof. -%# -%# END BPS TAGGED BLOCK }}} +%# 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) { <TABLE BORDER=0 cellspacing=0 cellpadding=1 WIDTH=100%> +% } % if ($ShowHeader) { <& /Elements/CollectionAsTable/Header, Format => \@Format, - FormatString => $Format, AllowSorting => $AllowSorting, Order => $Order, Query => $Query, @@ -56,46 +38,42 @@ Page => $Page, OrderBy => $OrderBy , BaseURL => $BaseURL, - maxitems => $maxitems &> + 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++; -% # Every ten rows, flush the buffer and put something on the page. -% $m->flush_buffer() unless ($i % 10); <& /Elements/CollectionAsTable/Row, Format => \@Format, i => $i, record => $record, maxitems => $maxitems &> % } +% } +% unless (defined $SingleRecord) { </TABLE> +% } -% if ($Rows && $ShowNavigation) { +% if ($ShowNavigation) { <hr> -% my $oddRows; -% if (($TotalFound % $Rows) == 0) { -% $oddRows = 0; -% } else { $oddRows = 1; } -<&|/l, $Page, int($TotalFound/$Rows)+$oddRows&>Page [_1] of [_2]</&> +<&|/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 ) -); +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)); </%perl> % if ($Page > 1) { <A href="<%$BaseURL%><%$prev%>"><&|/l&>Previous Page</&></a> @@ -105,12 +83,13 @@ my $next = $m->comp( % } % } <%INIT> -my $maxitems = 0; +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'}); @@ -119,31 +98,19 @@ unless ($Collection) { my (@Format) = $m->comp('/Elements/CollectionAsTable/ParseFormat', Format => $Format); -# Find the maximum number of items in any row, so we can pad the table. -my $item = 0; -foreach my $col (@Format) { - $item++; - if ( $col->{title} eq 'NEWLINE' ) { - $item = 0; - } - else { - $maxitems = $item if $item > $maxitems; - } -} - - $Collection->OrderBy(FIELD => $OrderBy, ORDER => $Order); -$Collection->RowsPerPage($Rows) if ($Rows); +$Collection->RowsPerPage($Rows); $Collection->GotoPage($Page-1); # SB uses page 0 as the first page my $TotalFound = $Collection->CountAll(); </%INIT> <%ARGS> $Query => undef -$Rows => 50 +$Rows => 10 $Page => 1 $Title => 'Ticket Search' $Collection => undef +$SingleRecord => undef $AllowSorting => undef $Order => undef $OrderBy => undef |