[%# 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 => "allwordssubstr", description => "contains all of the strings" }, { name => "anywordssubstr", description => "contains any 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> <a name="chart" href="queryhelp.cgi#advancedquerying"> Advanced Searching Using Boolean Charts</a>: </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> [% FOREACH row = chart %] [% 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 %]> <input type="submit" value="Add another boolean chart" name="cmd-add[% newchart %]-0-0" [% jsmagic %]> </td> </tr> [% END %] [% END %] </table> <hr> [% END %]