diff options
Diffstat (limited to 'template/en/default/bug/edit.html.tmpl')
-rw-r--r-- | template/en/default/bug/edit.html.tmpl | 1188 |
1 files changed, 0 insertions, 1188 deletions
diff --git a/template/en/default/bug/edit.html.tmpl b/template/en/default/bug/edit.html.tmpl deleted file mode 100644 index dbc23c8..0000000 --- a/template/en/default/bug/edit.html.tmpl +++ /dev/null @@ -1,1188 +0,0 @@ -[%# 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> - # Vaskin Kissoyan <vkissoyan@yahoo.com> - # Max Kanat-Alexander <mkanat@bugzilla.org> - # Frédéric Buclin <LpSolit@gmail.com> - # Olav Vitters <olav@bkor.dhs.org> - # Guy Pyrzak <guy.pyrzak@gmail.com> - # Elliotte Martin <emartin@everythingsolved.com> - #%] - -[% PROCESS global/variables.none.tmpl %] - -[% PROCESS "global/field-descs.none.tmpl" %] - -[% PROCESS bug/time.html.tmpl %] - - <script type="text/javascript"> - <!-- - - /* Outputs a link to call replyToComment(); used to reduce HTML output */ - function addReplyLink(id, real_id) { - /* XXX this should really be updated to use the DOM Core's - * createElement, but finding a container isn't trivial. - */ - [% IF user.settings.quote_replies.value != 'off' %] - document.write('[<a href="#add_comment" onclick="replyToComment(' + - id + ',' + real_id + '); return false;">reply<' + '/a>]'); - [% END %] - } - - /* Adds the reply text to the `comment' textarea */ - function replyToComment(id, real_id) { - var prefix = "(In reply to comment #" + id + ")\n"; - var replytext = ""; - [% IF user.settings.quote_replies.value == 'quoted_reply' %] - /* pre id="comment_name_N" */ - var text_elem = document.getElementById('comment_text_'+id); - var text = getText(text_elem); - - /* make sure we split on all newlines -- IE or Moz use \r and \n - * respectively. - */ - text = text.split(/\r|\n/); - - for (var i=0; i < text.length; i++) { - replytext += "> " + text[i] + "\n"; - } - - replytext = prefix + replytext + "\n"; - [% ELSIF user.settings.quote_replies.value == 'simple_reply' %] - replytext = prefix; - [% END %] - - [% IF user.is_insider %] - if (document.getElementById('isprivate_' + real_id).checked) { - document.getElementById('newcommentprivacy').checked = 'checked'; - updateCommentTagControl(document.getElementById('newcommentprivacy'), 'comment'); - } - [% END %] - - /* <textarea id="comment"> */ - var textarea = document.getElementById('comment'); - textarea.value += replytext; - - textarea.focus(); - } - - if (typeof Node == 'undefined') { - /* MSIE doesn't define Node, so provide a compatibility object */ - window.Node = { - TEXT_NODE: 3, - ENTITY_REFERENCE_NODE: 5 - }; - } - - /* Concatenates all text from element's childNodes. This is used - * instead of innerHTML because we want the actual text (and - * innerText is non-standard). - */ - function getText(element) { - var child, text = ""; - for (var i=0; i < element.childNodes.length; i++) { - child = element.childNodes[i]; - var type = child.nodeType; - if (type == Node.TEXT_NODE || type == Node.ENTITY_REFERENCE_NODE) { - text += child.nodeValue; - } else { - /* recurse into nodes of other types */ - text += getText(child); - } - } - return text; - } - -[% IF user.is_timetracker %] - var fRemainingTime = [% bug.remaining_time %]; // holds the original value - function adjustRemainingTime() { - // subtracts time spent from remaining time - var new_time; - - // prevent negative values if work_time > fRemainingTime - new_time = - Math.max(fRemainingTime - document.changeform.work_time.value, 0.0); - // get upto 2 decimal places - document.changeform.remaining_time.value = - Math.round(new_time * 100)/100; - } - - function updateRemainingTime() { - // if the remaining time is changed manually, update fRemainingTime - fRemainingTime = document.changeform.remaining_time.value; - } - -[% END %] - - /* Index all classifications so we can keep track of the classification - * for the selected product, which could control field visibility. - */ - var all_classifications = new Array([% bug.choices.product.size %]); - [%- FOREACH product = bug.choices.product %] - all_classifications['[% product.name FILTER js %]'] = ' - [%- product.classification.name FILTER js %]'; - [%- END %] - - //--> - </script> - -<form name="changeform" id="changeform" method="post" action="process_bug.cgi"> - - <input type="hidden" name="delta_ts" value="[% bug.delta_ts %]"> - <input type="hidden" name="longdesclength" value="[% bug.comments.size %]"> - <input type="hidden" name="id" value="[% bug.bug_id %]"> - <input type="hidden" name="token" value="[% issue_hash_token([bug.id, bug.delta_ts]) FILTER html %]"> - - [% PROCESS section_title %] - <table class="edit_form"> - <tr> - [%# 1st Column %] - <td id="bz_show_bug_column_1" class="bz_show_bug_column"> - <table> - [%# *** ID, product, component, status, resolution, Hardware, and OS *** %] - [% PROCESS section_status %] - - [% PROCESS section_spacer %] - - [% PROCESS section_details1 %] - - [% PROCESS section_spacer %] - - [%# *** severity, priority, version and milestone *** %] - [% PROCESS section_details2 %] - - [%# *** assigned to and qa contact *** %] - [% PROCESS section_people %] - - [% PROCESS section_spacer %] - - [% PROCESS section_url_keyword_whiteboard %] - - [% PROCESS section_spacer %] - - [%# *** Dependencies *** %] - [% PROCESS section_dependson_blocks %] - - </table> - </td> - <td> - <div class="bz_column_spacer"> </div> - </td> - [%# 2nd Column %] - <td id="bz_show_bug_column_2" class="bz_show_bug_column"> - <table cellpadding="3" cellspacing="1"> - [%# *** Reported and modified dates *** %] - [% PROCESS section_dates %] - - [% PROCESS section_cclist %] - - [% PROCESS section_spacer %] - - [% PROCESS section_see_also %] - - [% PROCESS section_customfields %] - - [% PROCESS section_spacer %] - - [% Hook.process("after_custom_fields") %] - - [% PROCESS section_flags %] - - </table> - </td> - </tr> - <tr> - <td colspan="3"> - <hr id="bz_top_half_spacer"> - </td> - </tr> - </table> - - <table id="bz_big_form_parts" cellspacing="0" cellpadding="0"><tr> - <td> - [% IF user.is_timetracker %] - [% PROCESS section_timetracking %] - [% 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 - %] - - [% IF user.settings.comment_box_position.value == 'before_comments' %] - [% PROCESS comment_box %] - [% END %] - </td> - <td> - [% PROCESS section_restrict_visibility %] - </td> - </tr></table> - - [%# *** Additional Comments *** %] - <div id="comments"> - [% PROCESS bug/comments.html.tmpl - comments = bug.comments - mode = user.id ? "edit" : "show" - %] - </div> - - [% IF user.settings.comment_box_position.value == 'after_comments' %] - <hr> - [% PROCESS comment_box %] - [% END %] - -</form> - -[%############################################################################%] -[%# Block for the Title (alias and short desc) #%] -[%############################################################################%] - -[% BLOCK section_title %] - [%# That's the main table, which contains all editable fields. %] - <div class="bz_alias_short_desc_container edit_form"> - [% PROCESS commit_button id="_top"%] - <a href="show_bug.cgi?id=[% bug.bug_id %]"> - [%-# %]<b>[% terms.Bug %] [% bug.bug_id FILTER html %]</b> - [%-# %]</a> -<span id="summary_alias_container" class="bz_default_hidden"> - [% IF Param("usebugaliases") %] - [% IF bug.alias != "" %] - (<span id="alias_nonedit_display">[% bug.alias FILTER html %]</span>) - [% END %] - [% END %] - <span id="short_desc_nonedit_display">[% bug.short_desc FILTER quoteUrls(bug) %]</span> - [% IF bug.check_can_change_field('short_desc', 0, 1) || - bug.check_can_change_field('alias', 0, 1) %] - <small class="editme">(<a href="#" id="editme_action">edit</a>)</small> - [% END %] - </span> - - - <div id="summary_alias_input"> - <table id="summary"> - [% IF Param("usebugaliases") %] - <tr> - [% IF bug.check_can_change_field('alias', 0, 1) %] - <td> - <label - for="alias" - title="a name for the - [% terms.bug %] that can be used in place of its ID number, - [%%] e.g. when adding it to a list of dependencies" - >Alias</label>:</td><td> - [% ELSIF bug.alias %] - <td colspan="2">( - [% ELSE %] - <td colspan="2"> - [% END %] - [% PROCESS input inputname => "alias" - size => "20" - maxlength => "20" - no_td => 1 - %][% ")" IF NOT bug.check_can_change_field('alias', 0, 1) - && bug.alias %] - </td> - </tr> - [% END %] - [%# *** Summary *** %] - <tr> - <td> - <label accesskey="s" for="short_desc"><u>S</u>ummary</label>: - </td> - <td> - [% PROCESS input inputname => "short_desc" size => "80" colspan => 2 - maxlength => 255 spellcheck => "true" no_td => 1 %] - </td> - </tr> - </table> - </div> - </div> - <script type="text/javascript"> - hideAliasAndSummary('[% bug.short_desc FILTER js %]', '[% bug.alias FILTER js %]'); - </script> -[% END %] - -[%############################################################################%] -[%# Block for the first table in the "Details" section #%] -[%############################################################################%] - -[% BLOCK section_details1 %] - - [%#############%] - [%# PRODUCT #%] - [%#############%] - <tr> - [% INCLUDE bug/field.html.tmpl - bug = bug, field = bug_fields.product, - override_legal_values = bug.choices.product - desc_url = 'describecomponents.cgi', value = bug.product - editable = bug.check_can_change_field('product', 0, 1) %] - </tr> - - [%# Classification is here so that it can be used in value controllers - # and visibility controllers. It comes after product because - # it uses some javascript that depends on the existence of the - # product field. - #%] - <tr class="bz_default_hidden"> - [% INCLUDE bug/field.html.tmpl - bug = bug field = bug_fields.classification - override_legal_values = bug.choices.classification - value = bug.classification - editable = bug.check_can_change_field('product', 0, 1) %] - </tr> - [%###############%] - [%# Component #%] - [%###############%] - <tr> - [% INCLUDE bug/field.html.tmpl - bug = bug, field = bug_fields.component, value = bug.component - override_legal_values = bug.choices.component - desc_url = "describecomponents.cgi?product=$bug.product" - editable = bug.check_can_change_field('component', 0, 1) - %] - </tr> - <tr> - <td class="field_label"> - <label for="version"><b>Version</b></label>: - </td> - - [% PROCESS select selname => "version" %] - </tr> - [%############%] - [%# PLATFORM #%] - [%############%] - <tr> - <td class="field_label"> - <label for="rep_platform" accesskey="h"><b>Platform</b></label>: - </td> - <td class="field_value"> - [% INCLUDE bug/field.html.tmpl - bug = bug, field = bug_fields.rep_platform, - no_tds = 1, value = bug.rep_platform - editable = bug.check_can_change_field('rep_platform', 0, 1) %] - [%+ INCLUDE bug/field.html.tmpl - bug = bug, field = bug_fields.op_sys, - no_tds = 1, value = bug.op_sys - editable = bug.check_can_change_field('op_sys', 0, 1) %] - <script type="text/javascript"> - assignToDefaultOnChange(['product', 'component']); - </script> - </td> - </tr> - - - -[% END %] - -[%############################################################################%] -[%# Block for the status section #%] -[%############################################################################%] - -[% BLOCK section_status %] - <tr> - <td class="field_label"> - <b><a href="page.cgi?id=fields.html#status">Status</a></b>: - </td> - <td id="bz_field_status"> - <span id="static_bug_status"> - [% display_value("bug_status", bug.bug_status) FILTER html %] - [% IF bug.resolution %] - [%+ display_value("resolution", bug.resolution) FILTER html %] - [% IF bug.dup_id %] - of [% "${terms.bug} ${bug.dup_id}" FILTER bug_link(bug.dup_id) FILTER none %] - [% END %] - [% END %] - [% IF bug.user.canedit || bug.user.isreporter %] - (<a href="#add_comment" - onclick="window.setTimeout(function() { document.getElementById('bug_status').focus(); }, 10)">edit</a>) - [% END %] - </span> - </td> - </tr> -[% END %] - -[%############################################################################%] -[%# Block for the second table in the "Details" section #%] -[%############################################################################%] - -[% BLOCK section_details2 %] - - [%###############################################################%] - [%# Importance (priority and severity) #%] - [%###############################################################%] - <tr> - <td class="field_label"> - <label for="priority" accesskey="i"> - <b><a href="page.cgi?id=fields.html#importance"><u>P</u>riority</a></b></label>: - </td> - <td> - [% INCLUDE bug/field.html.tmpl - bug = bug, field = bug_fields.priority, - no_tds = 1, value = bug.priority - editable = bug.check_can_change_field('priority', 0, 1) %] - <b><a href="page.cgi?id=fields.html#importance"><u>S</u>everity</a></b></label>: - [%+ INCLUDE bug/field.html.tmpl - bug = bug, field = bug_fields.bug_severity, - no_tds = 1, value = bug.bug_severity - editable = bug.check_can_change_field('bug_severity', 0, 1) %] - [% Hook.process('after_importance', 'bug/edit.html.tmpl') %] - </td> - </tr> - - [% IF Param("usetargetmilestone") && bug.target_milestone %] - <tr> - <td class="field_label"> - <label for="target_milestone"> - <a href="page.cgi?id=fields.html#target_milestone"> - Target Milestone</a></label>: - </td> - [% PROCESS select selname = "target_milestone" %] - </tr> - [% END %] - -[% END %] - -[%############################################################################%] -[%# Block for the table in the "People" section #%] -[%############################################################################%] - -[% BLOCK section_people %] - - <tr> - <td class="field_label"> - <b><a href="page.cgi?id=fields.html#assigned_to">Assigned To</a></b>: - </td> - <td> - [% IF bug.check_can_change_field("assigned_to", 0, 1) %] - <div id="bz_assignee_edit_container" class="bz_default_hidden"> - <span> - [% INCLUDE global/user.html.tmpl who = bug.assigned_to %] - (<a href="#" id="bz_assignee_edit_action">edit</a>) - </span> - </div> - <div id="bz_assignee_input"> - [% INCLUDE global/userselect.html.tmpl - id => "assigned_to" - name => "assigned_to" - value => bug.assigned_to.login - classes => ["bz_userfield"] - size => 30 - %] - <br> - <input type="checkbox" id="set_default_assignee" name="set_default_assignee" value="1"> - <label id="set_default_assignee_label" for="set_default_assignee">Reset Assignee to default</label> - </div> - <script type="text/javascript"> - hideEditableField('bz_assignee_edit_container', - 'bz_assignee_input', - 'bz_assignee_edit_action', - 'assigned_to', - '[% bug.assigned_to.login FILTER js %]' ); - initDefaultCheckbox('assignee'); - </script> - [% ELSE %] - [% INCLUDE global/user.html.tmpl who = bug.assigned_to %] - [% END %] - </td> - </tr> - - [% IF Param('useqacontact') %] - <tr> - <td class="field_label"> - <label for="qa_contact" accesskey="q"><b><u>Q</u>A Contact</b></label>: - </td> - <td> - [% IF bug.check_can_change_field("qa_contact", 0, 1) %] - [% IF bug.qa_contact != "" %] - <div id="bz_qa_contact_edit_container" class="bz_default_hidden"> - <span> - <span id="bz_qa_contact_edit_display"> - [% INCLUDE global/user.html.tmpl who = bug.qa_contact %]</span> - (<a href="#" id="bz_qa_contact_edit_action">edit</a>) - </span> - </div> - [% END %] - <div id="bz_qa_contact_input"> - [% INCLUDE global/userselect.html.tmpl - id => "qa_contact" - name => "qa_contact" - value => bug.qa_contact.login - size => 30 - classes => ["bz_userfield"] - emptyok => 1 - %] - <br> - <input type="checkbox" id="set_default_qa_contact" name="set_default_qa_contact" value="1"> - <label for="set_default_qa_contact" id="set_default_qa_contact_label">Reset QA Contact to default</label> - </div> - <script type="text/javascript"> - [% IF bug.qa_contact != "" %] - hideEditableField('bz_qa_contact_edit_container', - 'bz_qa_contact_input', - 'bz_qa_contact_edit_action', - 'qa_contact', - '[% bug.qa_contact.login FILTER js %]'); - [% END %] - initDefaultCheckbox('qa_contact'); - </script> - [% ELSE %] - [% INCLUDE global/user.html.tmpl who = bug.qa_contact %] - [% END %] - </td> - </tr> - [% END %] -[% END %] - -[%############################################################################%] -[%# Block for URL Keyword and Whiteboard #%] -[%############################################################################%] -[% BLOCK section_url_keyword_whiteboard %] -[%# *** URL Whiteboard Keywords *** %] -[% IF Param('useurl') %] - <tr> - <td class="field_label"> - <label for="bug_file_loc" accesskey="u"><b> - [% IF is_safe_url(bug.bug_file_loc) %] - <a href="[% bug.bug_file_loc FILTER html %]"><u>U</u>RL</a> - [% ELSE %] - <u>U</u>RL - [% END %] - [%%]</b></label>: - </td> - <td> - [% IF bug.check_can_change_field("bug_file_loc", 0, 1) %] - <span id="bz_url_edit_container" class="bz_default_hidden"> - [% IF is_safe_url(bug.bug_file_loc) %] - <a href="[% bug.bug_file_loc FILTER html %]" target="_blank" - title="[% bug.bug_file_loc FILTER html %]"> - [% bug.bug_file_loc FILTER truncate(40) FILTER html %]</a> - [% ELSE %] - [% bug.bug_file_loc FILTER html %] - [% END %] - (<a href="#" id="bz_url_edit_action">edit</a>)</span> - [% END %] - <span id="bz_url_input_area"> - [% url_output = PROCESS input no_td=1 inputname => "bug_file_loc" size => "40" colspan => 2 %] - [% IF NOT bug.check_can_change_field("bug_file_loc", 0, 1) - AND is_safe_url(bug.bug_file_loc) %] - <a href="[% bug.bug_file_loc FILTER html %]">[% url_output FILTER none %]</a> - [% ELSE %] - [% url_output FILTER none %] - [% END %] - </span> - [% IF bug.check_can_change_field("bug_file_loc", 0, 1) %] - <script type="text/javascript"> - hideEditableField('bz_url_edit_container', - 'bz_url_input_area', - 'bz_url_edit_action', - 'bug_file_loc', - "[% bug.bug_file_loc FILTER js %]"); - </script> - [% END %] - </td> - </tr> -[% END %] - - [% IF Param('usestatuswhiteboard') %] - <tr> - <td class="field_label"> - <label for="status_whiteboard" accesskey="w"><b><u>W</u>hiteboard</b></label>: - </td> - [% PROCESS input inputname => "status_whiteboard" size => "40" colspan => 2 %] - </tr> - [% END %] - - [% IF use_keywords %] - <tr> - <td class="field_label"> - <label for="keywords" accesskey="k"> - <b><a href="describekeywords.cgi"><u>K</u>eywords</a></b></label>: - </td> - <td class="field_value" colspan="2"> - [% INCLUDE bug/field.html.tmpl - bug = bug, field = bug_fields.keywords, value = bug.keywords - editable = bug.check_can_change_field("keywords", 0, 1), - no_tds = 1 - %] - </td> - </tr> - [% END %] -[% END %] - -[%############################################################################%] -[%# Block for Depends On / Blocks #%] -[%############################################################################%] -[% BLOCK section_dependson_blocks %] - <tr> - [% PROCESS dependencies - dep = { title => "Depends on", fieldname => "dependson" } %] - </tr> - - <tr> - [% PROCESS dependencies accesskey = "b" - dep = { title => "<u>B</u>locks", fieldname => "blocked" } %] - - <tr> - <th> </th> - - <td colspan="2" align="left" id="show_dependency_tree_or_graph"> - Show dependency <a href="showdependencytree.cgi?id=[% bug.bug_id %]&hide_resolved=1">tree</a> - - [% IF Param('webdotbase') %] - / <a href="showdependencygraph.cgi?id=[% bug.bug_id %]">graph</a> - [% END %] - </td> - </tr> -[% END %] - - -[%############################################################################%] -[%# Block for Restricting Visibility #%] -[%############################################################################%] - -[% BLOCK section_restrict_visibility %] - [% RETURN UNLESS bug.groups.size %] - - <div class="bz_group_visibility_section"> - [% inallgroups = 1 %] - [% inagroup = 0 %] - [% emitted_description = 0 %] - - [% FOREACH group = bug.groups %] - [% SET inallgroups = 0 IF NOT group.ingroup %] - [% SET inagroup = 1 IF group.ison %] - - [% NEXT IF group.mandatory %] - - [% IF NOT emitted_description %] - [% emitted_description = 1 %] - <div id="bz_restrict_group_visibility_help"> - <b>Only users in all of the selected groups can view this - [%+ terms.bug %]:</b> - <p class="instructions"> - Unchecking all boxes makes this a more public [% terms.bug %]. - </p> - </div> - [% END %] - - [% IF group.ingroup %] - <input type="hidden" name="defined_groups" - value="[% group.name FILTER html %]"> - [% END %] - - <input type="checkbox" value="[% group.name FILTER html %]" - name="groups" id="group_[% group.bit %]" - [% ' checked="checked"' IF group.ison %] - [% ' disabled="disabled"' IF NOT group.ingroup %]> - <label for="group_[% group.bit %]"> - [%- group.description FILTER html_light %]</label> - <br> - [% END %] - - [% IF emitted_description %] - [% IF NOT inallgroups %] - <p class="instructions">Only members of a group can change the - visibility of [% terms.abug %] for that group.</p> - [% END %] - [% END %] - - [% IF inagroup %] - <div id="bz_enable_role_visibility_help"> - <b>Users in the roles selected below can always view - this [% terms.bug %]:</b> - </div> - <div id="bz_enable_role_visibility"> - <div> - [% user_can_edit_accessible = - bug.check_can_change_field("reporter_accessible", 0, 1) - %] - [% IF user_can_edit_accessible %] - <input type="hidden" name="defined_reporter_accessible" value="1"> - [% END %] - <input type="checkbox" value="1" - name="reporter_accessible" id="reporter_accessible" - [% " checked" IF bug.reporter_accessible %] - [% " disabled=\"disabled\"" UNLESS user_can_edit_accessible %]> - <label for="reporter_accessible">Reporter</label> - </div> - <div> - [% user_can_edit_accessible = - bug.check_can_change_field("cclist_accessible", 0, 1) - %] - [% IF user_can_edit_accessible %] - <input type="hidden" name="defined_cclist_accessible" value="1"> - [% END %] - <input type="checkbox" value="1" - name="cclist_accessible" id="cclist_accessible" - [% " checked" IF bug.cclist_accessible %] - [% " disabled=\"disabled\"" UNLESS user_can_edit_accessible %]> - <label for="cclist_accessible">CC List</label> - </div> - <p class="instructions"> - 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. - </p> - </div> - [% END %] - </div> [%# bz_group_visibility_section %] -[% END %] - -[%############################################################################%] -[%# Block for Dates #%] -[%############################################################################%] - -[% BLOCK section_dates %] - <tr> - <td class="field_label"> - <b>Reported</b>: - </td> - <td> - [% bug.creation_ts FILTER time %] by [% INCLUDE global/user.html.tmpl who = bug.reporter %] - </td> - </tr> - - <tr> - <td class="field_label"> - <b> Modified</b>: - </td> - <td> - [% bug.delta_ts FILTER time FILTER replace(':\d\d$', '') FILTER replace(':\d\d ', ' ')%] - (<a href="show_activity.cgi?id=[% bug.bug_id %]">[%# terms.Bug %]History</a>) - </td> - - </tr> -[% END %] - -[%############################################################################%] -[%# Block for CC LIST #%] -[%############################################################################%] -[% BLOCK section_cclist %] - <tr> - <td class="field_label"> - <label for="newcc" accesskey="a"><b>CC List</b>:</label> - </td> - <td> - [% IF user.id %] - [% 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) %] - <input type="checkbox" id="addselfcc" name="addselfcc" - [% " checked=\"checked\"" - IF user.settings.state_addselfcc.value == 'always' - || (!has_role - && user.settings.state_addselfcc.value == 'cc_unless_role') %]> - <label for="addselfcc">Add me to CC list</label> - <br> - [% END %] - [% END %] - [% bug.cc.size || 0 FILTER html %] - [% IF bug.cc.size == 1 %] - user - [% ELSE %] - users - [% END %] - [% IF user.id %] - [% IF bug.cc.contains( user.email ) %] - including you - [% END %] - [% END %] - [% IF user.id || bug.cc.size %] - <span id="cc_edit_area_showhide_container" class="bz_default_hidden"> - (<a href="#" id="cc_edit_area_showhide">[% IF user.id %]edit[% ELSE %]show[% END %]</a>) - </span> - [% END %] - <div id="cc_edit_area"> - <br> - [% IF user.id %] - <div> - <div><label for="cc"><b>Add</b></label></div> - [% INCLUDE global/userselect.html.tmpl - id => "newcc" - name => "newcc" - value => "" - size => 30 - classes => ["bz_userfield"] - multiple => 5 - %] - </div> - [% END %] - [% IF bug.cc %] - <select id="cc" name="cc" multiple="multiple" size="5"> - [% FOREACH c = bug.cc %] - <option value="[% c FILTER email FILTER html %]"> - [% c FILTER email FILTER html %]</option> - [% END %] - </select> - [% IF user.id %] - <br> - <input type="checkbox" id="removecc" name="removecc"> - [%%]<label for="removecc">Remove selected CCs</label> - <br> - [% END %] - [% END %] - </div> - [% IF user.id || bug.cc.size %] - <script type="text/javascript"> - hideEditableField( 'cc_edit_area_showhide_container', - 'cc_edit_area', - 'cc_edit_area_showhide', - '', - ''); - </script> - [% END %] - </td> - </tr> -[% END %] - -[%############################################################################%] -[%# Block for See Also #%] -[%############################################################################%] -[% BLOCK section_see_also %] - [% IF Param('use_see_also') || bug.see_also.size %] - <tr> - [% INCLUDE bug/field.html.tmpl - field = bug_fields.see_also - value = bug.see_also - editable = bug.check_can_change_field('see_also', 0, 1) - %] - </tr> - [% END %] -[% END %] - -[%############################################################################%] -[%# Block for FLAGS #%] -[%############################################################################%] - -[% BLOCK section_flags %] - [%# *** 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 %] - <tr> - <td class="field_label flags_label"> - <label><b>Flags:</b></label> - </td> - <td></td> - </tr> - <tr> - <td colspan="2"> - [% 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 %] - </td> - </tr> - [% END %] -[% END %] - -[%############################################################################%] -[%# Block for Custom Fields #%] -[%############################################################################%] - -[% BLOCK section_customfields %] -[%# *** Custom Fields *** %] - [% USE Bugzilla %] - [% FOREACH field = Bugzilla.active_custom_fields %] - <tr> - [% PROCESS bug/field.html.tmpl value = bug.${field.name} - editable = bug.check_can_change_field(field.name, 0, 1) - value_span = 2 %] - </tr> - [% IF extra_field_item %] - <tr> - <th class="field_label">[% extra_field_item.header FILTER none %]</th> - <td>[% extra_field_item.data FILTER none %]</td> - </tr> - [% END %] - [% END %] -[% END %] - -[%############################################################################%] -[%# Block for Section Spacer #%] -[%############################################################################%] - -[% BLOCK section_spacer %] - <tr> - <td colspan="2" class="bz_section_spacer"></td> - </tr> -[% END %] - - - - -[%############################################################################%] -[%# Block for dependencies #%] -[%############################################################################%] - -[% BLOCK dependencies %] - - <th class="field_label"> - <label for="[% dep.fieldname %]"[% " accesskey=\"$accesskey\"" IF accesskey %]> - [% dep.title %]</label>: - </th> - <td> - <span id="[% dep.fieldname %]_input_area"> - [% IF bug.check_can_change_field(dep.fieldname, 0, 1) %] - <input name="[% dep.fieldname %]" id="[% dep.fieldname %]" - class="text_input" - value="[% bug.${dep.fieldname}.join(', ') %]"> - [% END %] - </span> - - [% FOREACH depbug = bug.${dep.fieldname} %] - [% depbug FILTER bug_link(depbug, use_alias => 1) FILTER none %][% " " %] - [% END %] - [% IF bug.check_can_change_field(dep.fieldname, 0, 1) %] - <span id="[% dep.fieldname %]_edit_container" class="edit_me bz_default_hidden" > - (<a href="#" id="[% dep.fieldname %]_edit_action">edit</a>) - </span> - <script type="text/javascript"> - hideEditableField('[% dep.fieldname %]_edit_container', - '[% dep.fieldname %]_input_area', - '[% dep.fieldname %]_edit_action', - '[% dep.fieldname %]', - "[% bug.${dep.fieldname}.join(', ') %]"); - </script> - [% END %] - </td> - - [% accesskey = undef %] - -[% END %] - -[%############################################################################%] -[%# Block for Time Tracking Group #%] -[%############################################################################%] - -[% BLOCK section_timetracking %] - <table class="bz_time_tracking_table"> - <tr> - <th> - <label for="estimated_time">Orig. Est.</label> - </th> - <th> - Current Est. - </th> - <th> - <label for="work_time">Hours Worked</label> - </th> - <th> - <label for="remaining_time">Hours Left</label> - </th> - <th> - %Complete - </th> - <th> - Gain - </th> - <th> - <label for="deadline">Deadline</label> - </th> - </tr> - <tr> - <td> - <input name="estimated_time" id="estimated_time" - value="[% PROCESS formattimeunit - time_unit=bug.estimated_time %]" - size="6" maxlength="6"> - </td> - <td> - [% PROCESS formattimeunit - time_unit=(bug.actual_time + bug.remaining_time) %] - </td> - <td> - [% PROCESS formattimeunit time_unit=bug.actual_time %] + - <input name="work_time" id="work_time" - value="0" size="3" maxlength="6" - onchange="adjustRemainingTime();"> - </td> - <td> - <input name="remaining_time" id="remaining_time" - value="[% PROCESS formattimeunit - time_unit=bug.remaining_time %]" - size="6" maxlength="6" onchange="updateRemainingTime();"> - </td> - <td> - [% PROCESS calculatepercentage act=bug.actual_time - rem=bug.remaining_time %] - </td> - <td> - [% PROCESS formattimeunit time_unit=bug.estimated_time - (bug.actual_time + bug.remaining_time) %] - </td> - <td> - [% INCLUDE bug/field.html.tmpl - field = bug_fields.deadline, value = bug.deadline, no_tds = 1 - editable = bug.check_can_change_field('deadline', 0, 1) %] - </td> - </tr> - <tr> - <td colspan="7" class="bz_summarize_time"> - <a href="summarize_time.cgi?id=[% bug.bug_id %]&do_depends=1"> - Summarize time (including time for [% terms.bugs %] - blocking this [% terms.bug %])</a> - </td> - </tr> - </table> -[% END %] - -[%############################################################################%] -[%# Block for the Additional Comments box #%] -[%############################################################################%] - -[% BLOCK comment_box %] - <div id="add_comment" class="bz_section_additional_comments"> - [% IF user.id %] - <label for="comment" accesskey="c"><b>Additional - <u>C</u>omments</b></label>: - - [% IF user.is_insider %] - <input type="checkbox" name="comment_is_private" value="1" - id="newcommentprivacy" - onClick="updateCommentTagControl(this, 'comment')"> - <label for="newcommentprivacy"> - Make comment private (visible only to members of the - <strong>[% Param('insidergroup') FILTER html %]</strong> group) - </label> - [% END %] - - <!-- This table keeps the submit button aligned with the box. --> - <table><tr><td> - [% INCLUDE global/textarea.html.tmpl - name = 'comment' - id = 'comment' - minrows = 10 - maxrows = 25 - cols = constants.COMMENT_COLS - %] - [% Hook.process("after_comment_textarea", 'bug/edit.html.tmpl') %] - <br> - [% PROCESS commit_button id=""%] - - <table id="bug_status_bottom" - class="status" cellspacing="0" cellpadding="0"> - <tr> - <td class="field_label"> - <b><a href="page.cgi?id=fields.html#status">Status</a></b>: - </td> - <td> - [% PROCESS bug/knob.html.tmpl %] - </td> - </tr> - </table> - </td></tr></table> - - [%# For logged-out users %] - [% ELSE %] - <table> - <tr> - <td> - <fieldset> - <legend>Note</legend> - You need to - <a href="show_bug.cgi?id= - [%- bug.bug_id %]&GoAheadAndLogIn=1">log in</a> - before you can comment on or make changes to this [% terms.bug %]. - </fieldset> - </td> - </tr> - </table> - [% END %] - </div> -[% END %] - -[%############################################################################%] -[%# Block for SELECT fields #%] -[%############################################################################%] - -[% BLOCK select %] - <td> - [% IF bug.check_can_change_field(selname, 0, 1) - AND bug.choices.${selname}.size > 1 %] - <select id="[% selname %]" name="[% selname %]"> - [% FOREACH x = bug.choices.${selname} %] - <option value="[% x.name FILTER html %]" - [% " selected" IF x.name == bug.${selname} %]> - [%- x.name FILTER html %] - </option> - [% END %] - </select> - [% ELSE %] - [% bug.${selname} FILTER html %] - [% END %] - </td> -[% END %] - -[%############################################################################%] -[%# Block for INPUT fields #%] -[%############################################################################%] - -[% BLOCK input %] - [% IF no_td != 1 %] - <td[% " colspan=\"$colspan\"" IF colspan %]> - [% END %] - [% val = value ? value : bug.$inputname %] - [% IF bug.check_can_change_field(inputname, 0, 1) %] - <input id="[% inputname %]" name="[% inputname %]" class="text_input" - value="[% val FILTER html %]"[% " size=\"$size\"" IF size %] - [% " maxlength=\"$maxlength\"" IF maxlength %] - [% " spellcheck=\"$spellcheck\"" IF spellcheck %]> - [% ELSE %] - [% IF size && val.length > size %] - <span title="[% val FILTER html %]"> - [% val FILTER truncate(size) FILTER html %] - </span> - [% ELSE %] - [% val FILTER html %] - [% END %] - [% END %] - [% IF no_td != 1 %] - </td> - [% END %] - [% no_td = 0 %] - [% maxlength = 0 %] - [% colspan = 0 %] - [% size = 0 %] - [% value = undef %] - [% spellcheck = undef %] -[% END %] -[% BLOCK commit_button %] - [% IF user.id %] - <div class="knob-buttons"> - <input type="submit" value="Save Changes" - id="commit[% id FILTER css_class_quote %]"> - </div> - [% END %] -[% END %] |