RT mobile UI, #11630
[freeside.git] / rt / share / html / m / _elements / ticket_list
1 <%args>
2 $order => undef
3 $order_by => undef
4 $query => ''
5 $page => 1
6 </%args>
7 <%init>
8 my $collection = RT::Tickets->new($session{'CurrentUser'});
9 $collection->FromSQL($query);
10 $collection->RowsPerPage(10);
11 $collection->GotoPage($page-1);
12 # XXX: ->{'order_by'} is hacky, but there is no way to check if
13 # collection is ordered or not
14 if ( $order_by) {
15         my @order_by = split /\|/, $order_by;
16         my @order = split /\|/,$order;
17     $collection->OrderByCols(
18         map { { FIELD => $order_by[$_], ORDER => $order[$_] } }
19         ( 0 .. $#order_by )
20     );
21 }
22
23
24
25 $collection->RedoSearch();
26  
27 if ($page > 1 && ! @{$collection->ItemsArrayRef||[]}) {
28     RT::Interface::Web::Redirect( RT->Config->Get('WebURL')."m/tickets/search?page=".($page-1)."&query=".$query."&order=$order&order_by=$order_by");
29 }
30
31 </%init>
32 <&| /m/_elements/wrapper, title => 
33 loc("Found [quant,_1,ticket]",$collection->Count) &>
34 <&|/Widgets/TitleBox, class => 'search'
35 &>
36 <ul class="ticketlist">
37 % while (my $ticket = $collection->Next()) {
38 <li class="ticket">
39 <a class="ticket" href="<%RT->Config->Get('WebPath')%>/m/ticket/show?id=<%$ticket->id%>"><%$ticket->id%>: <%$ticket->Subject%></a>
40 <div class="metadata">
41 <%perl>
42
43 </%perl>
44 <div class="requestors"><span class="label"><&|/l&>Requestors</&>:</span> <& /Ticket/Elements/ShowGroupMembers, Group => $ticket->Requestors, Ticket => $ticket &></div>
45 <div class="status"><span class="label"><&|/l&>Status</&>:</span> <%$ticket->Status%></div>
46 <div class="owner"><span class="label"><&|/l&>Owner</&>:</span> <& /Elements/ShowUser, User => $ticket->OwnerObj, Ticket => $ticket &></div>
47 <div class="created"><span class="label"><&|/l&>Created</&>:</span> <%$ticket->CreatedObj->AgeAsString()%></div>
48 % if ($ticket->Priority) {
49 <div class="priority"><span class="label"><&|/l&>Priority</&>:</span> <%$ticket->Priority%></div>
50 % }
51 </div>
52 </li>
53 % }
54 </ul>
55 <div id="paging">
56 % if ($page > 1) { 
57 <a href="<%RT->Config->Get('WebPath')%>/m/tickets/search?page=<%$page-1%>&query=<%$query%>&order=<%$order%>&order_by=<%$order_by%>">Back</a>
58 % }
59 Page <%$page%>
60
61 <a href="<%RT->Config->Get('WebPath')%>/m/tickets/search?page=<%$page+1%>&query=<%$query%>&order=<%$order%>&order_by=<%$order_by%>">Next</a>
62 </div>
63 </&>
64 </&>