]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 984999: Move set_assign_to() out of bug/create/create.html.tmpl
authorAcho Arnold <acho.arnold@live.com>
Sun, 23 Mar 2014 01:01:35 +0000 (02:01 +0100)
committerFrédéric Buclin <LpSolit@gmail.com>
Sun, 23 Mar 2014 01:01:35 +0000 (02:01 +0100)
r=LpSolit a=justdave

js/bug.js
template/en/default/bug/create/create.html.tmpl

index e38fefbfeec8df9810b5763937eeb6735cebd6b9..d6c25a0d8f88ed770cd2a104b3c9d41d918f685f 100644 (file)
--- 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
index d1e71fde96edd335e3c4f1f7086322c25cca5bd0..4499bdc9787f127e5fe3bbb3028c77671383767f 100644 (file)
@@ -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") %]