373 lines
9.8 KiB
Cheetah
373 lines
9.8 KiB
Cheetah
[%# 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>
|
|
# Ville Skyttä <ville.skytta@iki.fi>
|
|
#%]
|
|
|
|
[% PROCESS global/variables.none.tmpl %]
|
|
|
|
[% product_name = product FILTER html %]
|
|
[% PROCESS global/header.html.tmpl
|
|
title = "Enter $terms.Bug: $product_name"
|
|
h2 = "This page lets you enter a new $terms.bug into ${terms.Bugzilla}."
|
|
onload="set_assign_to();"
|
|
%]
|
|
[% USE Bugzilla %]
|
|
|
|
<script type="text/javascript" language="JavaScript">
|
|
<!--
|
|
|
|
var default_owners = new Array([% component_.size %]);
|
|
var components = new Array([% component_.size %]);
|
|
[% count = 0 %]
|
|
[%- FOREACH c = component_ %]
|
|
components[[% count %]] = "[% c.name FILTER js %]";
|
|
default_owners[[% count %]] = "[% c.default_login FILTER js %]";
|
|
[% count = count + 1 %]
|
|
[%- END %]
|
|
var last_default_owner;
|
|
function set_assign_to() {
|
|
// Based on the selected component, fill the "Assign To:" field
|
|
// with the default component owner.
|
|
var form = document.Create;
|
|
var assigned_to = form.assigned_to.value;
|
|
var index = -1;
|
|
if (form.component.type == 'select-one') {
|
|
index = form.component.selectedIndex;
|
|
} else if (form.component.type == 'hidden') {
|
|
// Assume there is only one component in the list
|
|
index = 0;
|
|
}
|
|
if (index != -1) {
|
|
var owner = default_owners[index];
|
|
var component = components[index];
|
|
if (assigned_to == last_default_owner
|
|
|| assigned_to == owner
|
|
|| assigned_to == '') {
|
|
form.assigned_to.value = owner;
|
|
last_default_owner = owner;
|
|
}
|
|
}
|
|
}
|
|
-->
|
|
</script>
|
|
|
|
<form name="Create" id="Create" method="post" action="post_bug.cgi">
|
|
<input type="hidden" name="product" value="[% product FILTER html %]">
|
|
|
|
[% IF bug_status.size <= 1 %]
|
|
<input type="hidden" name="bug_status"
|
|
value="[% default.bug_status FILTER html %]">
|
|
[% END %]
|
|
|
|
|
|
<table cellspacing="2" cellpadding="0" border="0">
|
|
|
|
<tr>
|
|
<td><br></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td></td>
|
|
<td colspan="3">
|
|
[%# Migration note: The following file corresponds to the old Param
|
|
# 'entryheaderhtml'
|
|
#%]
|
|
[% INCLUDE 'bug/create/user-message.html.tmpl' %]
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td><br></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="right" valign="top"><strong>Reporter:</strong></td>
|
|
<td valign="top">[% Bugzilla.user.login FILTER html %]</td>
|
|
|
|
<td align="right" valign="top"><strong>Product:</strong></td>
|
|
<td valign="top">[% product FILTER html %]</td>
|
|
</tr>
|
|
|
|
[%# We can't use the select block in these two cases for various reasons. %]
|
|
<tr>
|
|
<td align="right" valign="top">
|
|
<strong>Version:</strong>
|
|
</td>
|
|
<td>
|
|
<select name="version" size="5">
|
|
[%- FOREACH v = version %]
|
|
<option value="[% v FILTER html %]"
|
|
[% " selected=\"selected\"" IF v == default.version %]>[% v FILTER html -%]
|
|
</option>
|
|
[%- END %]
|
|
</select>
|
|
</td>
|
|
|
|
<td align="right" valign="top">
|
|
<strong>
|
|
<a href="describecomponents.cgi?product=[% product FILTER url_quote %]">
|
|
Component</a>:
|
|
</strong>
|
|
</td>
|
|
<td>
|
|
<select name="component" onchange="set_assign_to();" size="5">
|
|
[%- FOREACH c = component_ %]
|
|
<option value="[% c.name FILTER html %]"
|
|
[% " selected=\"selected\"" IF c.name == default.component_ %]>
|
|
[% c.name FILTER html -%]
|
|
</option>
|
|
[%- END %]
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> </td>
|
|
<td colspan="3"></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
[% sel = { description => 'Platform', name => 'rep_platform' } %]
|
|
[% INCLUDE select %]
|
|
|
|
[% sel = { description => 'OS', name => 'op_sys' } %]
|
|
[% INCLUDE select %]
|
|
</tr>
|
|
|
|
<tr>
|
|
[% IF Param('letsubmitterchoosepriority') %]
|
|
[% sel = { description => 'Priority', name => 'priority' } %]
|
|
[% INCLUDE select %]
|
|
[% ELSE %]
|
|
<input type="hidden" name="priority"
|
|
value="[% default.priority FILTER html %]">
|
|
[% END %]
|
|
|
|
[% sel = { description => 'Severity', name => 'bug_severity' } %]
|
|
[% INCLUDE select %]
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> </td>
|
|
<td colspan="3"></td>
|
|
</tr>
|
|
|
|
[% IF bug_status.size > 1 %]
|
|
<tr>
|
|
[% sel = { description => 'Initial State', name => 'bug_status' } %]
|
|
[% INCLUDE select %]
|
|
|
|
<td colspan="2"></td>
|
|
</tr>
|
|
[% END %]
|
|
|
|
<tr>
|
|
<td align="right">
|
|
<strong>
|
|
<a href="page.cgi?id=fields.html#assigned_to">Assign To</a>:
|
|
</strong>
|
|
</td>
|
|
<td colspan="3">
|
|
[% INCLUDE global/userselect.html.tmpl
|
|
name => "assigned_to"
|
|
value => assigned_to
|
|
size => 32
|
|
emptyok => 1
|
|
%]
|
|
<noscript>(Leave blank to assign to default component owner)</noscript>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="right"><strong>Cc:</strong></td>
|
|
<td colspan="3">
|
|
[% INCLUDE global/userselect.html.tmpl
|
|
name => "cc"
|
|
value => cc
|
|
size => 45
|
|
emptyok => 1
|
|
%]
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> </td>
|
|
<td colspan="3"></td>
|
|
</tr>
|
|
|
|
[% IF UserInGroup(Param('timetrackinggroup')) %]
|
|
<tr>
|
|
<td align="right"><strong>Estimated Hours:</strong></td>
|
|
<td colspan="3">
|
|
<input name="estimated_time" size="6" maxlength="6" value="0.0">
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td> </td>
|
|
<td colspan="3"></td>
|
|
</tr>
|
|
[% END %]
|
|
|
|
<tr>
|
|
<td align="right"><strong>URL:</strong></td>
|
|
<td colspan="3">
|
|
<input name="bug_file_loc" size="60"
|
|
value="[% bug_file_loc FILTER html %]">
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="right"><strong>Summary:</strong></td>
|
|
<td colspan="3">
|
|
<input name="short_desc" size="60" value="[% short_desc FILTER html %]">
|
|
</td>
|
|
</tr>
|
|
|
|
<tr><td align="right" valign="top"><strong>Description:</strong></td>
|
|
<td colspan="3">
|
|
<textarea wrap="hard" name="comment" rows="10" cols="80">
|
|
[% comment FILTER html %]</textarea>
|
|
<br>
|
|
</td>
|
|
</tr>
|
|
|
|
[% IF UserInGroup('editbugs') %]
|
|
[% IF use_keywords %]
|
|
<tr>
|
|
<td align="right" valign="top">
|
|
<strong>
|
|
<a href="describekeywords.cgi">Keywords</a>:
|
|
</strong>
|
|
</td>
|
|
<td colspan="3">
|
|
<input name="keywords" size="60" value="[% keywords FILTER html %]"> (optional)
|
|
</td>
|
|
</tr>
|
|
[% END %]
|
|
<tr>
|
|
<td align="right">
|
|
<strong>Depends on:</strong>
|
|
</td>
|
|
<td>
|
|
<input name="dependson" accesskey="d" value="[% dependson FILTER html %]">
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="right">
|
|
<strong>Blocks:</strong>
|
|
</td>
|
|
<td>
|
|
<input name="blocked" accesskey="b" value="[% blocked FILTER html %]">
|
|
</td>
|
|
</tr>
|
|
[% END %]
|
|
|
|
<tr>
|
|
<td></td>
|
|
<td colspan="3">
|
|
[% IF group.size %]
|
|
<br>
|
|
<strong>
|
|
Only users in all of the selected groups can view this [% terms.bug %]:
|
|
</strong>
|
|
<br>
|
|
<font size="-1">
|
|
(Leave all boxes unchecked to make this a public [% terms.bug %].)
|
|
</font>
|
|
<br>
|
|
<br>
|
|
|
|
<!-- Checkboxes -->
|
|
[% FOREACH g = group %]
|
|
|
|
<input type="checkbox" id="bit-[% g.bit %]"
|
|
name="bit-[% g.bit %]" value="1"
|
|
[% " checked=\"checked\"" IF g.checked %]>
|
|
<label for="bit-[% g.bit %]">[% g.description %]</label><br>
|
|
[% END %]
|
|
<br>
|
|
[% END %]
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td></td>
|
|
<td colspan="3">
|
|
<input type="submit" value=" Commit "
|
|
onclick="if (this.form.short_desc.value == '')
|
|
{ alert('Please enter a summary sentence for this [% terms.bug %].');
|
|
return false; } return true;">
|
|
|
|
<input type="submit" name="maketemplate"
|
|
value="Remember values as bookmarkable template">
|
|
</td>
|
|
</tr>
|
|
|
|
[% UNLESS (Param('defaultplatform') && Param('defaultopsys')) %]
|
|
<tr>
|
|
<td></td>
|
|
<td colspan="3">
|
|
<br>
|
|
We've made a guess at your
|
|
[% IF Param('defaultplatform') %]
|
|
operating system. Please check it
|
|
[% ELSIF Param('defaultopsys') %]
|
|
platform. Please check it
|
|
[% ELSE %]
|
|
operating system and platform. Please check them
|
|
[% END %]
|
|
and, if we got it wrong, email
|
|
[%+ Param('maintainer') %].
|
|
</td>
|
|
</tr>
|
|
[% END %]
|
|
|
|
</table>
|
|
<input type="hidden" name="form_name" value="enter_bug">
|
|
</form>
|
|
|
|
[% PROCESS global/footer.html.tmpl %]
|
|
|
|
[%############################################################################%]
|
|
[%# Block for SELECT fields #%]
|
|
[%############################################################################%]
|
|
|
|
[% BLOCK select %]
|
|
[% IF sel.description %]
|
|
<td align="right">
|
|
<strong>
|
|
<a href="page.cgi?id=fields.html#[% sel.name %]">
|
|
[% sel.description %]</a>:
|
|
</strong>
|
|
</td>
|
|
[% END %]
|
|
|
|
<td>
|
|
<select name="[% sel.name %]">
|
|
[%- FOREACH x = ${sel.name} %]
|
|
<option value="[% x FILTER html %]"
|
|
[% " selected=\"selected\"" IF x == default.${sel.name} %]>[% x FILTER html -%]
|
|
</option>
|
|
[%- END %]
|
|
</select>
|
|
</td>
|
|
[% END %]
|