summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgerv%gerv.net <>2002-02-24 17:24:57 +0100
committergerv%gerv.net <>2002-02-24 17:24:57 +0100
commitde0443553cc3b55be7ccfa3c2325c502bf1dd69f (patch)
treef9dad9c3673a8548fba4020e1cf9255824016dd9
parentda9f22870991546b0d783e9d9694ee226b445937 (diff)
downloadbugzilla-de0443553cc3b55be7ccfa3c2325c502bf1dd69f.tar.gz
bugzilla-de0443553cc3b55be7ccfa3c2325c502bf1dd69f.tar.xz
Bug 110711 - various query.cgi/tmpl problems. This patch resolves all known issues.
-rw-r--r--defparams.pl2
-rw-r--r--template/default/query/query.atml258
2 files changed, 144 insertions, 116 deletions
diff --git a/defparams.pl b/defparams.pl
index 871a30e3a..0ba0189d0 100644
--- a/defparams.pl
+++ b/defparams.pl
@@ -468,7 +468,7 @@ You will get this message once a day until you've dealt with these bugs!
DefParam("defaultquery",
"This is the default query that initially comes up when you submit a bug. It's in URL parameter format, which makes it hard to read. Sorry!",
"t",
- "bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=%22Importance%22");
+ "bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailqa_contact2=1&order=%22Importance%22");
DefParam("letsubmitterchoosepriority",
diff --git a/template/default/query/query.atml b/template/default/query/query.atml
index 0d60973bc..190eb095a 100644
--- a/template/default/query/query.atml
+++ b/template/default/query/query.atml
@@ -347,117 +347,110 @@ function selectProduct(f) {
</select>
</td>
<td>
- <input name="short_desc" size="30" value="[% default.short_desc.0 FILTER html %]" />
+ <input name="short_desc" size="40" value="[% default.short_desc.0 FILTER html %]" />
</td>
<td>
<input type="submit" value="Search" />
</td>
</tr>
-</table>
[%# *** Product Component Version Target *** %]
-<table>
<tr>
- <td>
- <table>
- <tr valign="bottom">
- <th align="left">Product:</th>
- <th align="left"><a href="describecomponents.cgi">Component</a>:</th>
- <th align="left">Version:</th>
-
- [% IF (Param("usetargetmilestone")) %]
- <th align="left">Target:</th>
- [% END %]
- </tr>
-
- <tr valign="top">
-
- [%# Can't use the select block here because of onChange and the fact that
- 'component' is a toolkit reserved word - we use 'component_' instead. %]
- <td align="left">
- <select name="product" multiple size="5" onChange="selectProduct(this.form);">
- [% FOREACH p = product %]
- <option value="[% p FILTER html %]"
- [% " selected" IF lsearch(default.product, p) != -1 %]>
- [% p FILTER html %]</option>
- [% END %]
- </select>
- </td>
-
- <td align="left">
- <select name="component" multiple size="5">
- [% FOREACH c = component_ %]
- <option value="[% c FILTER html %]"
- [% " selected" IF lsearch(default.component, c) != -1 %]>
- [% c FILTER html %]</option>
- [% END %]
- </select>
- </td>
-
- [% PROCESS select sel = { name => 'version', size => 5 } %]
-
- [% IF target_milestone.size > 0 %]
- [% PROCESS select sel = { name => 'target_milestone', size => 5 } %]
- [% END %]
- </tr>
- </table>
- </td>
+ <td colspan="4">
+ <table>
+ <tr valign="bottom">
+ <th align="left">Product:</th>
+ <th align="left"><a href="describecomponents.cgi">Component</a>:</th>
+ <th align="left">Version:</th>
+
+ [% IF (Param("usetargetmilestone")) %]
+ <th align="left">Target:</th>
+ [% END %]
+ </tr>
+
+ <tr valign="top">
+
+ [%# Can't use the select block here because of onChange and the fact that
+ 'component' is a toolkit reserved word - we use 'component_' instead. %]
+ <td align="left">
+ <select name="product" multiple size="5" onChange="selectProduct(this.form);">
+ [% FOREACH p = product %]
+ <option value="[% p FILTER html %]"
+ [% " selected" IF lsearch(default.product, p) != -1 %]>
+ [% p FILTER html %]</option>
+ [% END %]
+ </select>
+ </td>
+
+ <td align="left">
+ <select name="component" multiple size="5">
+ [% FOREACH c = component_ %]
+ <option value="[% c FILTER html %]"
+ [% " selected" IF lsearch(default.component, c) != -1 %]>
+ [% c FILTER html %]</option>
+ [% END %]
+ </select>
+ </td>
+
+ [% PROCESS select sel = { name => 'version', size => 5 } %]
+
+ [% IF target_milestone.size > 0 %]
+ [% PROCESS select sel = { name => 'target_milestone', size => 5 } %]
+ [% END %]
+ </tr>
+ </table>
+ </td>
</tr>
[%# *** Comment URL Whiteboard Keywords *** %]
- <tr>
- <td>
- <table border="0">
- [% FOREACH field = [
- { name => "long_desc", description => "A comment" },
- { name => "bug_file_loc", description => "The URL" },
- { name => "status_whiteboard", description => "Whiteboard" } ] %]
-
- [% UNLESS field.name == 'status_whiteboard' AND NOT Param('usestatuswhiteboard') %]
- <tr>
- <th align="right">[% field.description %]:</th>
- <td>
- <select name="[% field.name %]_type">
- [% FOREACH qv = query_variants %]
- [% type = "${field.name}_type" %]
- <option value="[% qv.value %]"
- [% " selected" IF default.$type.0 == qv.value %]>[% qv.description %]</option>
- [% END %]
- </select>
- </td>
- <td><input name="[% field.name %]" size="40" value="
- [% default.${field.name}.0 FILTER html %]" /></td>
- </tr>
- [% END %]
- [% END %]
+ [% FOREACH field = [
+ { name => "long_desc", description => "A&nbsp;comment" },
+ { name => "bug_file_loc", description => "The&nbsp;URL" },
+ { name => "status_whiteboard", description => "Whiteboard" } ] %]
- [% IF have_keywords %]
- <tr>
- <th align="right"><a href="describekeywords.cgi">Keywords</a>:</th>
- <td>
- <select name="keywords_type">
- [% FOREACH qv = [
- { name => "anywords", description => "contains any of the keywords" },
- { name => "allwords", description => "contains all of the keywords" },
- { name => "nowords", description => "contains none of the keywords" } ] %]
-
- <option value="[% qv.name %]"
- [% " selected" IF default.keywords_type.0 == qv.name %]>
- [% qv.description %]</option>
- [% END %]
- </select>
- </td>
- <td>
- <input name="keywords" size="40" value="[% default.keywords.0 FILTER html %]" />
- </td>
- </tr>
+ [% UNLESS field.name == 'status_whiteboard' AND NOT Param('usestatuswhiteboard') %]
+ <tr>
+ <th align="right">[% field.description %]:</th>
+ <td>
+ <select name="[% field.name %]_type">
+ [% FOREACH qv = query_variants %]
+ [% type = "${field.name}_type" %]
+ <option value="[% qv.value %]"
+ [% " selected" IF default.$type.0 == qv.value %]>[% qv.description %]</option>
+ [% END %]
+ </select>
+ </td>
+ <td><input name="[% field.name %]" size="40" value="
+ [% default.${field.name}.0 FILTER html %]" />
+ </td>
+ <td></td>
+ </tr>
[% END %]
+ [% END %]
- </table>
- </td>
- </tr>
+ [% IF have_keywords %]
+ <tr>
+ <th align="right"><a href="describekeywords.cgi">Keywords</a>:</th>
+ <td>
+ <select name="keywords_type">
+ [% FOREACH qv = [
+ { name => "anywords", description => "contains any of the keywords" },
+ { name => "allwords", description => "contains all of the keywords" },
+ { name => "nowords", description => "contains none of the keywords" } ] %]
+
+ <option value="[% qv.name %]"
+ [% " selected" IF default.keywords_type.0 == qv.name %]>
+ [% qv.description %]</option>
+ [% END %]
+ </select>
+ </td>
+ <td>
+ <input name="keywords" size="40" value="[% default.keywords.0 FILTER html %]" />
+ </td>
+ </tr>
+ [% END %]
</table>
<hr>
@@ -498,6 +491,7 @@ function selectProduct(f) {
</strong>
</legend>
+
<table>
<tr>
[% FOREACH n = [1, 2] %]
@@ -511,33 +505,63 @@ function selectProduct(f) {
</td>
</tr>
<tr>
- <td><input type="checkbox" name="emailassigned_to[% n %]" value="1"
- [% " checked" IF default.emailassigned_to.$n %] />bug owner</td>
+ <td>
+ <input type="checkbox" name="emailassigned_to[% n %]"
+ id="emailassigned_to[% n %]" value="1"
+ [% " checked" IF default.emailassigned_to.$n %] />
+ <label for="emailassigned_to[% n %]">
+ bug owner
+ </label>
+ </td>
</tr>
<tr>
- <td><input type="checkbox" name="emailreporter[% n %]" value="1"
- [% " checked" IF default.emailreporter.$n %] />reporter</td>
+ <td>
+ <input type="checkbox" name="emailreporter[% n %]"
+ id="emailreporter[% n %]" value="1"
+ [% " checked" IF default.emailreporter.$n %] />
+ <label for="emailreporter[% n %]">
+ reporter
+ </label>
+ </td>
</tr>
[% IF Param('useqacontact') %]
<tr>
- <td><input type="checkbox" name="emailqa_contact[% n %]" value="1"
- [% " checked" IF default.emailqa_contact.$n %] />QA Contact</td>
+ <td>
+ <input type="checkbox" name="emailqa_contact[% n %]"
+ id="emailqa_contact[% n %]" value="1"
+ [% " checked" IF default.emailqa_contact.$n %] />
+ <label for="emailqa_contact[% n %]">
+ QA contact
+ </label>
+ </td>
</tr>
[% END %]
<tr>
- <td><input type="checkbox" name="emailcc[% n %]" value="1"
- [% " checked" IF default.emailcc.$n %] />CC list member</td>
+ <td>
+ <input type="checkbox" name="emailcc[% n %]"
+ id="emailcc[% n %]" value="1"
+ [% " checked" IF default.emailcc.$n %] />
+ <label for="emailcc[% n %]">
+ CC list member
+ </label>
+ </td>
</tr>
<tr>
- <td><input type="checkbox" name="emaillongdesc[% n %]" value="1"
- [% " checked" IF default.emaillongdesc.$n %] />commenter</td>
+ <td>
+ <input type="checkbox" name="emaillongdesc[% n %]"
+ id="emaillongdesc[% n %]" value="1"
+ [% " checked" IF default.emaillongdesc.$n %] />
+ <label for="emaillongdesc[% n %]">
+ commenter
+ </label>
+ </td>
</tr>
<tr>
<td>
<select name="emailtype[% n %]">
[% FOREACH qv = [
- { name => "exact", description => "is" },
{ name => "substring", description => "contains" },
+ { name => "exact", description => "is" },
{ name => "regexp", description => "matches regexp" },
{ name => "notregexp", description => "doesn&#8217;t match regexp" } ] %]
@@ -587,6 +611,7 @@ function selectProduct(f) {
</tr>
</table>
+
</fieldset>
</td>
@@ -596,6 +621,7 @@ function selectProduct(f) {
<fieldset>
<legend><strong>Bug Changes</strong></legend>
+
<dl>
<dt>Only bugs changed in the last </dt>
<dd><input name=changedin size=3 value="[% default.changedin.0 FILTER html %]" /> days</dd>
@@ -617,7 +643,7 @@ function selectProduct(f) {
<dd>
<input name="chfieldfrom" size="10" value="[% default.chfieldfrom.0 FILTER html %]" />
and <input name="chfieldto" size="10" value="[% default.chfieldto.0 FILTER html %]" />
- <br>(YYYY-MM-DD)
+ <br />(YYYY-MM-DD)
</dd>
<dt>to this value: (optional)</dt>
<dd>
@@ -625,6 +651,7 @@ function selectProduct(f) {
</dd>
</dl>
+
</fieldset>
</td>
</tr>
@@ -637,9 +664,9 @@ function selectProduct(f) {
[% IF NOT userid %]
<input type="hidden" name="cmdtype" value="doit" />
[% ELSE %]
- <br>
+ <br />
<input type="radio" name="cmdtype" value="doit" checked /> Run this query
- <br>
+ <br />
[% IF namedqueries.size > 0 %]
<p>
@@ -675,15 +702,16 @@ function selectProduct(f) {
<input type="radio" name="cmdtype" value="asdefault" />
Remember this as my default query
- <br>
+ <br />
<input type="radio" name="cmdtype" value="asnamed" />
Remember this query, and name it:
<input type="text" name="newqueryname">
- <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" name="tofooter" value="1" />
+ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" name="tofooter" value="1" />
and put it in my page footer
- <br>
+ <br />
[% END %]
- <p>
+ <br />
+ <div>
Sort results by:
<select name="order">
[% FOREACH order = orders %]
@@ -692,14 +720,14 @@ function selectProduct(f) {
[% END %]
</select>
- <input type="submit" value="Submit query" />
+ <input type="submit" value="Search" />
[% IF userdefaultquery %]
<p>
<a href="query.cgi?nukedefaultquery=1">
Set my default query back to the system default</a>
</p>
[% END %]
- </p>
+ </div>
</td>
</tr>
</table>