%# BEGIN LICENSE BLOCK
%# 
%# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
%# 
%# (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
<FORM ACTION="<%$RT::WebPath%>/Search/Listing.html" METHOD="GET">
<INPUT TYPE=HIDDEN NAME="Bookmark" VALUE="<% $session{'tickets'}->FreezeLimits()%>">
<& /Elements/TitleBoxStart, title => loc('Refine search')&>
<INPUT TYPE=HIDDEN NAME="CompileRestriction" VALUE=1>

<ul>
<li><&|/l&>Owner is</&>  <& /Elements/SelectBoolean, Name => "OwnerOp", 
					  TrueVal=> '=', 
					  FalseVal => '!=' 
&> 
<& /Elements/SelectOwner, Name => "ValueOfOwner" &>

<li>
<& /Elements/SelectWatcherType, Name => "WatcherRole", AllowNull => 0 &>
<&|/l&>email address</&> 
<& /Elements/SelectMatch, Name => "WatcherRoleOp" &>
<INPUT Name="ValueOfWatcherRole" SIZE=20>

<li>
<&|/l&>Subject</&> <& /Elements/SelectMatch, Name => "SubjectOp" &> 
<INPUT Name="ValueOfSubject" SIZE=20>

<li><&|/l&>Queue</&>  <& /Elements/SelectBoolean,  Name => "QueueOp" , 
					True => loc("is"), 
					False => loc("isn't"), 
					TrueVal=> '=', 
					FalseVal => '!=' &>
<& /Elements/SelectQueue, Name => "ValueOfQueue" &>


<li><&|/l&>Priority</&> <& /Elements/SelectEqualityOperator, Name => "PriorityOp" &>

<INPUT Name="ValueOfPriority" SIZE=5>

<li>
<& /Elements/SelectDateType, Name => 'DateType' &>
<& /Elements/SelectDateRelation, Name=>"DateOp" &>
<& /Elements/SelectDate, Name => "ValueOfDate", ShowTime => 0, Default => '' &>

<li><&|/l&>Ticket attachment</&> 

<& /Elements/SelectAttachmentField, Name => 'AttachmentField' &>
<& /Elements/SelectBoolean, Name => "AttachmentFieldOp", 
			    True => loc("matches"), 
			    False => loc("does not match"), 
			    TrueVal => 'LIKE', 
			    FalseVal => 'NOT LIKE' 
&> 
<Input Name="ValueOfAttachmentField" Size=20>

<li><&|/l&>Status</&> 
<& /Elements/SelectBoolean, Name => "StatusOp", 
			    True => loc("is"), 
  			    False => loc("isn't"), 
			    TrueVal=> '=', 
			    FalseVal => '!=' 
&>  
<& /Elements/SelectStatus, Name => "ValueOfStatus", SkipDeleted => 1 &>


% while ( my $CustomField = $CustomFields->Next ) {

<li><% $CustomField->Name %> 
        <& /Elements/SelectCustomFieldOperator, Name => "CustomFieldOp". $CustomField->id, 
                                    True => loc("is"), 
                                    False => loc("isn't"), 
                                    TrueVal=> '=', FalseVal => '!=' &>

<& /Elements/SelectCustomFieldValue, Name => "CustomField".$CustomField->id,
                            CustomField => $CustomField,
                            &>
% }

</UL>

<& /Elements/TitleBoxEnd &>

<& /Elements/TitleBoxStart, title => loc('Ordering and sorting')&>

<UL>

<li><&|/l&>Results per page</&> <& /Elements/SelectResultsPerPage, Name => "RowsPerPage", 
							Default => $session{'tickets_rows_per_page'} || '50'
&>

<li><&|/l&>Sort results by</&> <& /Elements/SelectTicketSortBy, Name => "TicketsSortBy", 
						     Default => $session{'tickets_sort_by'} 
&> 
<& /Elements/SelectSortOrder, Name => 'TicketsSortOrder', Default => $session{'tickets_sort_order'} &>

<li><input type="checkbox" name="HideResults" <%$ARGS{'HideResults'} && 'CHECKED'%>> <&|/l&>Don't show search results</&>
<li><& /Elements/Refresh, Name => 'RefreshSearchInterval' , Default => $session{'tickets_refresh_interval'} &>

</UL>


</DIV>



<& /Elements/TitleBoxEnd &>

<& /Elements/Submit, Label => loc('Search'), Name => 'Action'&>

</FORM>


 <%INIT>
my $CustomFields = RT::CustomFields->new( $session{'CurrentUser'});
 foreach ( $session{'tickets'}->RestrictionValues('Queue') ) {
        # Gotta load up the $queue object, since queues get stored by name now.
        my $queue = RT::Queue->new($session{'CurrentUser'});
        $queue->Load($_);
        $CustomFields->LimitToQueue($queue->Id);
 }

 $CustomFields->LimitToGlobal();

</%INIT>
