зеркало из https://github.com/mozilla/pjs.git
Bug 110711 - various query.cgi/tmpl problems. This patch resolves all known issues.
This commit is contained in:
Родитель
1fba69e636
Коммит
35e3d80829
|
@ -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",
|
||||
|
|
|
@ -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>
|
||||
<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>
|
||||
[% 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>
|
||||
<tr valign="top">
|
||||
|
||||
<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>
|
||||
[%# 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>
|
||||
|
||||
[% PROCESS select sel = { name => 'version', size => 5 } %]
|
||||
<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>
|
||||
|
||||
[% IF target_milestone.size > 0 %]
|
||||
[% PROCESS select sel = { name => 'target_milestone', size => 5 } %]
|
||||
[% END %]
|
||||
</tr>
|
||||
</table>
|
||||
</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" } ] %]
|
||||
[% 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 %]
|
||||
[% 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 %]
|
||||
|
||||
[% 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 %]
|
||||
[% 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" } ] %]
|
||||
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<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’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> <input type="checkbox" name="tofooter" value="1" />
|
||||
<br /> <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>
|
||||
|
|
Загрузка…
Ссылка в новой задаче