summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--js/bug.js71
-rw-r--r--template/en/default/bug/create/create.html.tmpl76
2 files changed, 74 insertions, 73 deletions
diff --git a/js/bug.js b/js/bug.js
index e38fefbfe..d6c25a0d8 100644
--- a/js/bug.js
+++ b/js/bug.js
@@ -118,3 +118,74 @@ YAHOO.bugzilla.dupTable = {
[dt, data.product_name]);
}
};
+
+function set_assign_to(use_qa_contact) {
+ // Based on the selected component, fill the "Assign To:" field
+ // with the default component owner, and the "QA Contact:" field
+ // with the default QA Contact. It also selectively enables flags.
+ var form = document.Create;
+ var assigned_to = form.assigned_to.value;
+
+ if (use_qa_contact) {
+ var qa_contact = form.qa_contact.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 = initialowners[index];
+ var component = components[index];
+ if (assigned_to == last_initialowner
+ || assigned_to == owner
+ || assigned_to == '') {
+ form.assigned_to.value = owner;
+ last_initialowner = owner;
+ }
+
+ document.getElementById('initial_cc').innerHTML = initialccs[index];
+ document.getElementById('comp_desc').innerHTML = comp_desc[index];
+
+ if (use_qa_contact) {
+ var contact = initialqacontacts[index];
+ if (qa_contact == last_initialqacontact
+ || qa_contact == contact
+ || qa_contact == '') {
+ form.qa_contact.value = contact;
+ last_initialqacontact = contact;
+ }
+ }
+
+ // We show or hide the available flags depending on the selected component.
+ var flag_rows = YAHOO.util.Dom.getElementsByClassName('bz_flag_type', 'tbody');
+ for (var i = 0; i < flag_rows.length; i++) {
+ // Each flag table row should have one flag form select element
+ // We get the flag type id from the id attribute of the select.
+ var flag_select = YAHOO.util.Dom.getElementsByClassName('flag_select',
+ 'select',
+ flag_rows[i])[0];
+ var type_id = flag_select.id.split('-')[1];
+ var can_set = flag_select.options.length > 1 ? 1 : 0;
+ var show = 0;
+ // Loop through the allowed flag ids for the selected component
+ // and if we match, then show the row, otherwise hide the row.
+ for (var j = 0; j < flags[index].length; j++) {
+ if (flags[index][j] == type_id) {
+ show = 1;
+ break;
+ }
+ }
+ if (show && can_set) {
+ flag_select.disabled = false;
+ YAHOO.util.Dom.removeClass(flag_rows[i], 'bz_default_hidden');
+ } else {
+ flag_select.disabled = true;
+ YAHOO.util.Dom.addClass(flag_rows[i], 'bz_default_hidden');
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/template/en/default/bug/create/create.html.tmpl b/template/en/default/bug/create/create.html.tmpl
index d1e71fde9..4499bdc97 100644
--- a/template/en/default/bug/create/create.html.tmpl
+++ b/template/en/default/bug/create/create.html.tmpl
@@ -7,6 +7,7 @@
#%]
[% title = BLOCK %]Enter [% terms.Bug %]: [% product.name FILTER html %][% END %]
+[% use_qa_contact = Param("useqacontact") %]
[% PROCESS global/header.html.tmpl
title = title
@@ -14,7 +15,7 @@
style_urls = ['skins/standard/bug.css']
javascript_urls = [ "js/attachment.js", "js/util.js",
"js/field.js", "js/TUI.js", "js/bug.js" ]
- onload = "set_assign_to(); hideElementById('attachment_true');
+ onload = "set_assign_to($use_qa_contact); hideElementById('attachment_true');
showElementById('attachment_false'); showElementById('btn_no_attachment');"
%]
@@ -60,77 +61,6 @@ var flags = new Array([% product.components.size %]);
[% count = count + 1 %]
[%- END %]
-function set_assign_to() {
- // Based on the selected component, fill the "Assign To:" field
- // with the default component owner, and the "QA Contact:" field
- // with the default QA Contact. It also selectively enables flags.
- var form = document.Create;
- var assigned_to = form.assigned_to.value;
-
-[% IF Param("useqacontact") %]
- var qa_contact = form.qa_contact.value;
-[% END %]
-
- 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 = initialowners[index];
- var component = components[index];
- if (assigned_to == last_initialowner
- || assigned_to == owner
- || assigned_to == '') {
- form.assigned_to.value = owner;
- last_initialowner = owner;
- }
-
- document.getElementById('initial_cc').innerHTML = initialccs[index];
- document.getElementById('comp_desc').innerHTML = comp_desc[index];
-
- [% IF Param("useqacontact") %]
- var contact = initialqacontacts[index];
- if (qa_contact == last_initialqacontact
- || qa_contact == contact
- || qa_contact == '') {
- form.qa_contact.value = contact;
- last_initialqacontact = contact;
- }
- [% END %]
-
- // We show or hide the available flags depending on the selected component.
- var flag_rows = YAHOO.util.Dom.getElementsByClassName('bz_flag_type', 'tbody');
- for (var i = 0; i < flag_rows.length; i++) {
- // Each flag table row should have one flag form select element
- // We get the flag type id from the id attribute of the select.
- var flag_select = YAHOO.util.Dom.getElementsByClassName('flag_select',
- 'select',
- flag_rows[i])[0];
- var type_id = flag_select.id.split('-')[1];
- var can_set = flag_select.options.length > 1 ? 1 : 0;
- var show = 0;
- // Loop through the allowed flag ids for the selected component
- // and if we match, then show the row, otherwise hide the row.
- for (var j = 0; j < flags[index].length; j++) {
- if (flags[index][j] == type_id) {
- show = 1;
- break;
- }
- }
- if (show && can_set) {
- flag_select.disabled = false;
- YAHOO.util.Dom.removeClass(flag_rows[i], 'bz_default_hidden');
- } else {
- flag_select.disabled = true;
- YAHOO.util.Dom.addClass(flag_rows[i], 'bz_default_hidden');
- }
- }
- }
-}
-
var status_comment_required = new Array();
[% FOREACH status = bug_status %]
status_comment_required['[% status.name FILTER js %]'] =
@@ -199,7 +129,7 @@ TUI_hide_default('attachment_text_field');
desc_url = component_desc_url
%]
<td id="field_container_component">
- <select name="component" id="component" onchange="set_assign_to();"
+ <select name="component" id="component" onchange="set_assign_to([% Param("useqacontact") %]);"
size="7" aria-required="true" class="required">
[%# Build the lists of assignees and QA contacts if "usemenuforusers" is enabled. %]
[% IF Param("usemenuforusers") %]