[%# 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 # Vaskin Kissoyan # Max Kanat-Alexander # Frédéric Buclin # Olav Vitters #%] [% PROCESS global/variables.none.tmpl %] [% PROCESS "global/field-descs.none.tmpl" %] [% PROCESS bug/time.html.tmpl %]
[%# That's the main table, which contains all editable fields. %] [%# Force the layout to be displayed now, before drawing the second column of the table. # This should prevent bug 370739 when using Firefox 2. %]
Details [%# *** Summary *** %] [% PROCESS input inputname => "short_desc" size => "60" colspan => 2 maxlength => 255 %] [%# *** URL Whiteboard Keywords *** %] [% PROCESS input inputname => "bug_file_loc" size => "60" colspan => 2 %] [% IF Param('usestatuswhiteboard') %] [% PROCESS input inputname => "status_whiteboard" size => "60" colspan => 2 %] [% END %] [% IF use_keywords %] [% PROCESS input inputname => "keywords" size => 60 colspan => 2 value => bug.keywords.join(', ') onfocus => "this.chooser.open()" %] [% END %] [%# *** Custom Fields *** %] [% USE Bugzilla %] [% fields = Bugzilla.get_fields({ obsolete => 0, custom => 1 }) %] [% IF fields %] [% FOREACH field = fields %] [% PROCESS bug/field.html.tmpl value=bug.${field.name} editable = bug.check_can_change_field(field.name, 0, 1) value_span = 2 %] [% END %] [% END %] [%# *** Dependencies *** %] [% PROCESS dependencies dep = { title => "Depends on", fieldname => "dependson" } %] [% PROCESS dependencies accesskey = "b" dep = { title => "Blocks", fieldname => "blocked" } %]
:
[%# *** ID, product, component, status and resolution *** %] [%# *** Platform, OS, severity, priority, version and milestone *** %]
[% PROCESS section_details1 %][% PROCESS section_details2 %]

:
:
:
  Show dependency tree [% IF Param('webdotbase') %] - Show dependency graph [% END %]
[%# *** Reporter, owner and QA contact *** %]
People [% PROCESS section_people %]
[%# *** Flags *** %] [% show_bug_flags = 0 %] [% FOREACH type = bug.flag_types %] [% IF (type.flags && type.flags.size > 0) || (user.id && type.is_active) %] [% show_bug_flags = 1 %] [% LAST %] [% END %] [% END %] [% IF show_bug_flags %]
Flags
[% IF user.id %] [% IF bug.flag_types.size > 0 %] [% PROCESS "flag/list.html.tmpl" flag_no_header = 1 flag_types = bug.flag_types any_flags_requesteeble = bug.any_flags_requesteeble %] [% END %] [% ELSE %] [% FOREACH type = bug.flag_types %] [% FOREACH flag = type.flags %] [% flag.setter.nick FILTER html %]: [%+ type.name FILTER html FILTER no_break %][% flag.status %] [%+ IF flag.requestee %] ([% flag.requestee.nick FILTER html %]) [% END %]
[% END %] [% END %] [% END %]
[% END %]
[% IF user.in_group(Param('timetrackinggroup')) %]
Current Est. %Complete Gain
[% PROCESS formattimeunit time_unit=(bug.actual_time + bug.remaining_time) %] [% PROCESS formattimeunit time_unit=bug.actual_time %] + [% PROCESS calculatepercentage act=bug.actual_time rem=bug.remaining_time %] [% PROCESS formattimeunit time_unit=bug.estimated_time - (bug.actual_time + bug.remaining_time) %]
(YYYY-MM-DD)
Summarize time (including time for [% terms.bugs %] blocking this [% terms.bug %])
[% END %] [%# *** Attachments *** %] [% PROCESS attachment/list.html.tmpl attachments = bug.attachments bugid = bug.bug_id num_attachment_flag_types = bug.num_attachment_flag_types show_attachment_flags = bug.show_attachment_flags %] [%# *** Comments Groups *** %]
[% IF user.id %] : [% IF Param("insidergroup") && user.in_group(Param("insidergroup")) %] [% END %]
[% INCLUDE global/textarea.html.tmpl name = 'comment' id = 'comment' minrows = 10 maxrows = 25 cols = constants.COMMENT_COLS %] [% IF NOT bug.cc || NOT bug.cc.contains(user.login) %] [% has_role = bug.user.isreporter || bug.assigned_to.id == user.id || (Param('useqacontact') && bug.qa_contact && bug.qa_contact.id == user.id) %]
[% END %] [% ELSE %]
Note

You need to log in before you can comment on or make changes to this [% terms.bug %].

[% END %]
Related actions [% IF bug.use_votes %]
Votes: [% bug.votes %] [% END %] [%# Links to more things users can do with this bug. %] [% Hook.process("links") %]

[% IF bug.groups.size > 0 %] [% inallgroups = 1 %] [% inagroup = 0 %] [% FOREACH group = bug.groups %] [% SET inallgroups = 0 IF NOT group.ingroup %] [% SET inagroup = 1 IF group.ison %] [% IF NOT group.mandatory %] [% IF NOT emitted_description %] [% emitted_description = 1 %]
Only users in all of the selected groups can view this [% terms.bug %]:
(Unchecking all boxes makes this a more public [% terms.bug %].)

[% END %]     
[% END %] [% END %] [% IF NOT inallgroups %] Only members of a group can change the visibility of [% terms.abug %] for that group
[% END %] [% IF inagroup %]

Users in the roles selected below can always view this [% terms.bug %]:
(The assignee [% IF (Param('useqacontact')) %] and QA contact [% END %] can always see [% terms.abug %], and this section does not take effect unless the [% terms.bug %] is restricted to at least one group.)

[% END %] [% END %] [% PROCESS bug/knob.html.tmpl IF user.id %] [%# *** Additional Comments *** %]
[% PROCESS bug/comments.html.tmpl comments = bug.longdescs mode = user.id ? "edit" : "show" %]
[% IF use_keywords %] [% PROCESS "bug/keyword-chooser.html.tmpl" sel_keywords = bug.keywords.split(', ') %] [% END %] [%############################################################################%] [%# Block for the first table in the "Details" section #%] [%############################################################################%] [% BLOCK section_details1 %] [% IF Param("usebugaliases") %] [% PROCESS input inputname => "alias" size => "20" maxlength => "20" %] [% END %] [% PROCESS select selname => "product" %] [% PROCESS select selname => "component" %]
[% IF Param('useclassification') && bug.classification_id != 1 %] [[% bug.classification FILTER html %]] [% END %] [% terms.Bug %]#: [% bug.bug_id %]
:
:
:
Status: [% get_status(bug.bug_status) FILTER html %]
Resolution: [% get_resolution(bug.resolution) FILTER html %] [% IF bug.resolution == "DUPLICATE" %] of [% terms.bug %] [%+ "${bug.dup_id}" FILTER bug_link(bug.dup_id) FILTER none %] [% END %]
[% END %] [%############################################################################%] [%# Block for the second table in the "Details" section #%] [%############################################################################%] [% BLOCK section_details2 %] [% PROCESS select selname => "rep_platform" %] [% PROCESS select selname => "op_sys" %] [% PROCESS select selname => "version" %] [% PROCESS select selname => "priority" %] [% PROCESS select selname = "bug_severity" %] [% IF Param("usetargetmilestone") && bug.target_milestone %] [% PROCESS select selname = "target_milestone" %] [% END %]
:
:
:
:
:
:
[% END %] [%############################################################################%] [%# Block for the table in the "People" section #%] [%############################################################################%] [% BLOCK section_people %] [% IF Param('useqacontact') %] [% END %] [% IF user.id %] [% END %] [% IF bug.cc %] [% ELSE %] [% END %]
Reporter: [% INCLUDE user_identity user => bug.reporter %]
Assignee: [% IF bug.check_can_change_field("assigned_to", 0, 1) %] [% INCLUDE global/userselect.html.tmpl id => "assigned_to" name => "assigned_to" value => bug.assigned_to.login size => 30 %]
[% ELSE %] [% INCLUDE user_identity user => bug.assigned_to %] [% END %]
: [% IF bug.check_can_change_field("qa_contact", 0, 1) %] [% INCLUDE global/userselect.html.tmpl id => "qa_contact" name => "qa_contact" value => bug.qa_contact.login size => 30 emptyok => 1 %]
[% ELSE %] [% INCLUDE user_identity user => bug.qa_contact %] [% END %]
: [% INCLUDE global/userselect.html.tmpl id => "newcc" name => "newcc" value => "" size => 30 multiple => 5 %]
: [% IF user.id %]
[%%]
[% END %]
[% END %] [%############################################################################%] [%# Block for dependencies #%] [%############################################################################%] [% BLOCK dependencies %] : [% FOREACH depbug = bug.${dep.fieldname} %] [% depbug FILTER bug_link(depbug) FILTER none %][% " " %] [% END %] [% IF bug.check_can_change_field(dep.fieldname, 0, 1) %] [% ELSE %] [% END %] [% accesskey = undef %] [% END %] [%############################################################################%] [%# Block for SELECT fields #%] [%############################################################################%] [% BLOCK select %] [% IF bug.check_can_change_field(selname, 0, 1) AND bug.choices.${selname}.size > 1 %] [% ELSE %] [% bug.${selname} FILTER html %] [% END %] [% END %] [%############################################################################%] [%# Block for INPUT fields #%] [%############################################################################%] [% BLOCK input %] [% val = value ? value : bug.$inputname %] [% IF bug.check_can_change_field(inputname, 0, 1) %] [% ELSE %] [% IF size && val.length > size %] [% val FILTER truncate(size) FILTER html %] [% ELSE %] [% val FILTER html %] [% END %] [% END %] [% maxlength = 0 %] [% colspan = 0 %] [% size = 0 %] [% value = undef %] [% onfocus = undef %] [% END %] [%############################################################################%] [%# Block for user identities. Wraps the information inside of an hCard. #%] [%############################################################################%] [% BLOCK user_identity %] [% IF user.name %] [% ELSE %] [% END %] [% END %]