summaryrefslogtreecommitdiffstats
path: root/template
diff options
context:
space:
mode:
authorSimon Green <sgreen@redhat.com>2013-09-26 04:13:18 +0200
committerSimon Green <sgreen@redhat.com>2013-09-26 04:13:18 +0200
commit52cbd16ef02a1098249758e30d12fc314926f3ef (patch)
treee495eb8451a91378c907323f598c2c0c2649282e /template
parent646aa223346440a159effc37b0e6070832b1989a (diff)
downloadbugzilla-52cbd16ef02a1098249758e30d12fc314926f3ef.tar.gz
bugzilla-52cbd16ef02a1098249758e30d12fc314926f3ef.tar.xz
Bug 769134 - Bugzilla unintentionally removes groups when changing products with multiple bugs
r=dkl, a=justdave
Diffstat (limited to 'template')
-rw-r--r--template/en/default/bug/process/verify-new-product.html.tmpl71
1 files changed, 58 insertions, 13 deletions
diff --git a/template/en/default/bug/process/verify-new-product.html.tmpl b/template/en/default/bug/process/verify-new-product.html.tmpl
index 77471cbcd..c712ae09a 100644
--- a/template/en/default/bug/process/verify-new-product.html.tmpl
+++ b/template/en/default/bug/process/verify-new-product.html.tmpl
@@ -140,19 +140,64 @@
[% IF optional_groups.size %]
<p>These groups are optional. You can decide to restrict [% terms.bugs %] to
one or more of the following groups:<br>
- [% FOREACH group = optional_groups %]
- <input type="hidden" name="defined_groups"
- value="[% group.group.name FILTER html %]">
- <input type="checkbox" id="group_[% group.group.id FILTER html %]"
- name="groups"
- [% ' checked="checked"' IF ((group.membercontrol == constants.CONTROLMAPDEFAULT && user.in_group(group.group.name))
- || (group.othercontrol == constants.CONTROLMAPDEFAULT && !user.in_group(group.group.name))
- || cgi.param("groups").contains(group.group.name)) %]
- value="[% group.group.name FILTER html %]">
- <label for="group_[% group.group.id FILTER html %]">
- [% group.group.name FILTER html %]: [% group.group.description FILTER html %]
- </label>
- <br>
+ [% IF multiple_bugs %]
+ [% USE Bugzilla %]
+ <script type="text/javascript">
+ function turn_off(myself, id) {
+ var other_checkbox = document.getElementById(id);
+ if (myself.checked && other_checkbox) {
+ other_checkbox.checked = false;
+ }
+ }
+ </script>
+
+ <table border="1">
+ <tr>
+ <th>Remove<br>[% terms.bugs %]<br>from this<br>group</th>
+ <th>Add<br>[% terms.bugs %]<br>to this<br>group</th>
+ <th>Group Name:</th>
+ </tr>
+
+ [% FOREACH group = optional_groups %]
+ <tr>
+ <td align="center">
+ <input type="checkbox" name="defined_groups"
+ id="defined_group_[% group.group.id FILTER html %]"
+ value="[% group.group.name FILTER html %]"
+ [% IF Bugzilla.cgi.param("defined_groups").contains(group.group.name) %] checked="checked"[% END %]
+ onchange="turn_off(this, 'group_[% group.group.id FILTER html %]')">
+ </td>
+ <td align="center">
+ <input type="checkbox" name="groups"
+ id="group_[% group.group.id FILTER html %]"
+ value="[% group.group.name FILTER html %]"
+ [% IF Bugzilla.cgi.param("groups").contains(group.group.name) %] checked="checked"[% END %]
+ onchange="turn_off(this, 'defined_group_[% group.group.id FILTER html %]')">
+ </td>
+
+ <td>
+ [% group.group.description FILTER html %]
+ </td>
+
+ </tr>
+ [% END %]
+
+ </table>
+ [% ELSE %]
+ [% FOREACH group = optional_groups %]
+ <input type="hidden" name="defined_groups"
+ value="[% group.group.name FILTER html %]">
+ <input type="checkbox" id="group_[% group.group.id FILTER html %]"
+ name="groups"
+ [% ' checked="checked"' IF ((group.membercontrol == constants.CONTROLMAPDEFAULT && user.in_group(group.group.name))
+ || (group.othercontrol == constants.CONTROLMAPDEFAULT && !user.in_group(group.group.name))
+ || cgi.param("groups").contains(group.group.name)) %]
+ value="[% group.group.name FILTER html %]">
+ <label for="group_[% group.group.id FILTER html %]">
+ [% group.group.name FILTER html %]: [% group.group.description FILTER html %]
+ </label>
+ <br>
+ [% END %]
[% END %]
</p>
[% END %]