%# Every nonzero finite dimensional inner product space has an orthonormal basis.
%# It makes sense, when you don't think about it.
% if (!$NoUI) {
<& /Work/Elements/104Header, Title => 'Search', Refresh => $session{'tickets_refresh_interval'} &>
% }
%if ($ticketcount && ! $ARGS{'HideResults'}) {
<& TicketHeader, %ARGS &>
% my $i;
%while (my $Ticket = $session{'tickets'}->Next) {
% $i++;
<& $TicketRow, Ticket => $Ticket, i=> $i, %ARGS &>
%}
<&|/l&>First page&>
% if ( $session{'tickets'}->FirstRow >= $session{'tickets_rows_per_page'}-1 ) {
<<&|/l&>Previous page&>
% }
% if ( $session{'tickets'}->FirstRow + $session{'tickets_rows_per_page'} < $ticketcount ) {
<&|/l&>Next page&>>
% }
|
(<&|/l, ($session{'tickets'}->FirstRow+1), ($session{'tickets'}->FirstRow() + $session{'tickets'}->RowsPerPage() ) &>[_1] - [_2] shown&>)
|
<% $title %>
|
<&|/l&>Update all these tickets at once&>
|
% }
% if (!$NoUI) {
<& /Work/Elements/104Footer &>
% }
<%INIT>
my ($title, $ticketcount);
$session{'i'}++;
if ($session{'tickets'}) {
if ($ARGS{'DeleteRestriction'}) {
$session{'tickets'}->DeleteRestriction($ARGS{'DeleteRestriction'});
}
if ( ($ARGS{'ClearRestrictions'}) || ($ARGS{'NewSearch'}) ) {
$session{'tickets'}->ClearRestrictions;
}
}
ProcessSearchQuery(ARGS=>\%ARGS);
$session{'tickets'}->RedoSearch();
if ( $session{'tickets'}->DescribeRestrictions()) {
$ticketcount = $session{tickets}->CountAll();
$title = loc('Found [quant,_1,ticket]', $ticketcount);
} else {
$title = loc("Find tickets");
}
%INIT>
<%CLEANUP>
$session{'tickets'}->PrepForSerialization();
%CLEANUP>
<%ARGS>
$NoUI => 0
$TicketRow => 'TicketRow'
%ARGS>