blob: 5e0cc23b230b29b8ef5f8e796509b6d834b75fc4 [file] [log] [blame]
[%# 1.0@bugzilla.org %]
[%# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Gervase Markham <gerv@gerv.net>
#%]
[% types = [
{ name => "noop", description => "---" },
{ name => "equals", description => "is equal to" },
{ name => "notequals", description => "is not equal to" },
{ name => "anyexact", description => "is equal to any of the strings" },
{ name => "substring", description => "contains the string" },
{ name => "casesubstring", description => "contains the string (exact case)" },
{ name => "notsubstring", description => "does not contain the string" },
{ name => "anywordssubstr", description => "contains any of the strings" },
{ name => "allwordssubstr", description => "contains all of the strings" },
{ name => "nowordssubstr", description => "contains none of the strings" },
{ name => "regexp", description => "contains regexp" },
{ name => "notregexp", description => "does not contain regexp" },
{ name => "lessthan", description => "is less than" },
{ name => "greaterthan", description => "is greater than" },
{ name => "anywords", description => "contains any of the words" },
{ name => "allwords", description => "contains all of the words" },
{ name => "nowords", description => "contains none of the words" },
{ name => "changedbefore", description => "changed before" },
{ name => "changedafter", description => "changed after" },
{ name => "changedfrom", description => "changed from" },
{ name => "changedto", description => "changed to" },
{ name => "changedby", description => "changed by" },
{ name => "matches", description => "matches" } ] %]
<p>
<strong>
Advanced Searching Using Boolean Charts:
</strong>
</p>
[%# Whoever wrote the original version of boolean charts had a seriously twisted mind %]
[% jsmagic = "onclick=\"document.forms[0].action='query.cgi#chart'; document.forms[0].method='POST'; return 1;\"" %]
[% FOREACH chart = default.charts %]
[% chartnum = loop.count - 1 %]
<table>
<tr>
<td>
<input type="checkbox" id="negate[% chartnum FILTER html %]"
name="negate[% chartnum FILTER html %]" value="1"
[% "checked" IF chart.negate %]>
<label for="negate[% chartnum FILTER html %]">
Not (negate this whole chart)
</label>
</td>
</tr>
[% FOREACH row = chart.rows %]
[% rownum = loop.count - 1 %]
<tr>
[% FOREACH col = row %]
[% colnum = loop.count - 1 %]
<td>
<select name="[% "field${chartnum}-${rownum}-${colnum}" %]">
[% FOREACH field = fields %]
<option value="[% field.name %]"
[%- " selected" IF field.name == col.field %]>[% field.description %]</option>
[% END %]
</select>
<select name="[% "type${chartnum}-${rownum}-${colnum}" %]">
[% FOREACH type = types %]
<option value="[% type.name %]"
[%- " selected" IF type.name == col.type %]>[% type.description %]</option>
[% END %]
</select>
<input name="[% "value${chartnum}-${rownum}-${colnum}" %]"
value="[% col.value FILTER html %]">
</td>
[% UNLESS loop.last %]
<td align="center">
Or
</td>
</tr>
<tr>
[% ELSE %]
<td>
[% newor = colnum + 1 %]
<input type="submit" value="Or"
name="cmd-add[% "${chartnum}-${rownum}-${newor}" %]" [% jsmagic %]>
</td>
[% END %]
[% END %]
</tr>
[% UNLESS loop.last %]
<tr>
<td>And</td>
</tr>
[% ELSE %]
<tr>
<td>
[% newand = rownum + 1; newchart = chartnum + 1 %]
<input type="submit" value="And"
name="cmd-add[% "${chartnum}-${newand}-0" %]" [% jsmagic %]>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="submit" value="Add another boolean chart"
name="cmd-add[% newchart %]-0-0" [% jsmagic %]>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</td>
</tr>
[% END %]
[% END %]
</table>
<hr>
[% END %]