Master to 4.2.8
[usit-rt.git] / share / html / m / _elements / ticket_list
CommitLineData
84fb5b46
MKG
1%# BEGIN BPS TAGGED BLOCK {{{
2%#
3%# COPYRIGHT:
4%#
320f0092 5%# This software is Copyright (c) 1996-2014 Best Practical Solutions, LLC
84fb5b46
MKG
6%# <sales@bestpractical.com>
7%#
8%# (Except where explicitly superseded by other copyright notices)
9%#
10%#
11%# LICENSE:
12%#
13%# This work is made available to you under the terms of Version 2 of
14%# the GNU General Public License. A copy of that license should have
15%# been provided with this software, but in any event can be snarfed
16%# from www.gnu.org.
17%#
18%# This work is distributed in the hope that it will be useful, but
19%# WITHOUT ANY WARRANTY; without even the implied warranty of
20%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21%# General Public License for more details.
22%#
23%# You should have received a copy of the GNU General Public License
24%# along with this program; if not, write to the Free Software
25%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
26%# 02110-1301 or visit their web page on the internet at
27%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
28%#
29%#
30%# CONTRIBUTION SUBMISSION POLICY:
31%#
32%# (The following paragraph is not intended to limit the rights granted
33%# to you to modify and distribute this software under the terms of
34%# the GNU General Public License and is only of importance to you if
35%# you choose to contribute your changes and enhancements to the
36%# community by submitting them to Best Practical Solutions, LLC.)
37%#
38%# By intentionally submitting any modifications, corrections or
39%# derivatives to this work, or any other work intended for use with
40%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
41%# you are the copyright holder for those contributions and you grant
42%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
43%# royalty-free, perpetual, license to use, copy, create derivative
44%# works based on those contributions, and sublicense and distribute
45%# those contributions and any derivatives thereof.
46%#
47%# END BPS TAGGED BLOCK }}}
48<%args>
49$order => undef
50$order_by => undef
51$query => ''
52$page => 1
53</%args>
54<%init>
55
56my $rows = 10;
57
58my $collection = RT::Tickets->new($session{'CurrentUser'});
59$collection->FromSQL($query);
60$collection->RowsPerPage($rows);
61$collection->GotoPage($page-1);
62# XXX: ->{'order_by'} is hacky, but there is no way to check if
63# collection is ordered or not
64if ( $order_by) {
65 my @order_by = split /\|/, $order_by;
66 my @order = split /\|/,$order;
67 $collection->OrderByCols(
68 map { { FIELD => $order_by[$_], ORDER => $order[$_] } }
69 ( 0 .. $#order_by )
70 );
71}
72
73
74
75$collection->RedoSearch();
76
77if ($page > 1 && ! @{$collection->ItemsArrayRef||[]}) {
78 RT::Interface::Web::Redirect( RT->Config->Get('WebURL')."m/tickets/search?page=".($page-1)."&query=".$query."&order=$order&order_by=$order_by");
79}
80
81</%init>
82<&| /m/_elements/wrapper, title =>
c33a4027 83loc("Found [quant,_1,ticket,tickets]",$collection->CountAll) &>
84fb5b46
MKG
84<&|/Widgets/TitleBox, class => 'search'
85&>
86<ul class="ticketlist">
87% while (my $ticket = $collection->Next()) {
88<li class="ticket">
89<a class="ticket" href="<%RT->Config->Get('WebPath')%>/m/ticket/show?id=<%$ticket->id%>"><%$ticket->id%>: <%$ticket->Subject%></a>
90<div class="metadata">
91<%perl>
92
93</%perl>
c33a4027 94<div class="requestors"><span class="label"><&|/l&>Requestors</&>:</span> <& /Ticket/Elements/ShowGroupMembers, Group => $ticket->Requestors, Ticket => $ticket, Link => 0 &></div>
84fb5b46 95<div class="status"><span class="label"><&|/l&>Status</&>:</span> <%$ticket->Status%></div>
c33a4027 96<div class="owner"><span class="label"><&|/l&>Owner</&>:</span> <& /Elements/ShowUser, User => $ticket->OwnerObj, Ticket => $ticket, Link => 0 &></div>
84fb5b46
MKG
97<div class="created"><span class="label"><&|/l&>Created</&>:</span> <%$ticket->CreatedObj->AgeAsString()%></div>
98% if ($ticket->Priority) {
99<div class="priority"><span class="label"><&|/l&>Priority</&>:</span> <%$ticket->Priority%></div>
100% }
403d7b0b
MKG
101<div class="bookmark"><span class="label"><&|/l&>Bookmark</&>:</span> <& /Ticket/Elements/Bookmark, id => $ticket->id &></div>
102
84fb5b46
MKG
103</div>
104</li>
105% }
106</ul>
107<div id="paging">
108% if ($page > 1) {
109<a href="<%RT->Config->Get('WebPath')%>/m/tickets/search?page=<%$page-1%>&query=<%$query%>&order=<%$order%>&order_by=<%$order_by%>">Back</a>
110% }
111Page <%$page%>
112
113% if ($collection->CountAll > $page * $rows) {
114<a href="<%RT->Config->Get('WebPath')%>/m/tickets/search?page=<%$page+1%>&query=<%$query%>&order=<%$order%>&order_by=<%$order_by%>">Next</a>
115% }
116</div>
117</&>
118</&>