From 2dec6dcbe885cfd804fb003337b5ef61737c82b9 Mon Sep 17 00:00:00 2001 From: David Lawrence Date: Tue, 6 Dec 2016 20:18:08 +0000 Subject: Bug 1215501 - [modal ui only?] When moving a bug to a different product and removing a security-group, the other product's security group gets added automatically anyway --- .../default/bug_modal/new_product_groups.html.tmpl | 31 +++++++++++----------- extensions/BugModal/web/bug_modal.js | 14 ++++++++++ 2 files changed, 30 insertions(+), 15 deletions(-) (limited to 'extensions/BugModal') diff --git a/extensions/BugModal/template/en/default/bug_modal/new_product_groups.html.tmpl b/extensions/BugModal/template/en/default/bug_modal/new_product_groups.html.tmpl index d3e4c4574..2f1787b75 100644 --- a/extensions/BugModal/template/en/default/bug_modal/new_product_groups.html.tmpl +++ b/extensions/BugModal/template/en/default/bug_modal/new_product_groups.html.tmpl @@ -15,34 +15,34 @@ #%] [% PROCESS group_list - group_set = groups.invalid - label = "Groups that are not valid for the '" _ product.name _ "' product:" - enabled = 0 - disabled = 1 + type = "invalid" + label = "Groups that are not valid for the '" _ product.name _ "' product:" + enabled = 0 + disabled = 1 %] [% PROCESS group_list - group_set = groups.mandatory - label = "Mandatory '" _ product.name _ "' groups:" - enabled = 1 - disabled = 1 + type = "mandatory" + label = "Mandatory '" _ product.name _ "' groups:" + enabled = 1 + disabled = 1 %] [% PROCESS group_list - group_set = groups.optional - label = "Optional '" _ product.name _ "' groups:" - enabled = 1 - disabled = 0 + type = "optional" + label = "Optional '" _ product.name _ "' groups:" + enabled = 1 + disabled = 0 %] [% BLOCK group_list %] - [% RETURN UNLESS group_set.size %] + [% RETURN UNLESS groups.$type.size %] [% FILTER collapse %]
[% label FILTER html %]
- [% FOREACH g = group_set %] + [% FOREACH g = groups.$type %]
[% IF g.checked %] @@ -51,7 +51,8 @@ id="group_[% g.id FILTER none %]" [%= IF enabled %]name="groups"[% END %] [%= "checked" IF g.checked %] - [%= "disabled" IF disabled %]> + [%= "disabled" IF disabled %] + [%= 'data-mandatory="1"' IF type == "mandatory" %]> diff --git a/extensions/BugModal/web/bug_modal.js b/extensions/BugModal/web/bug_modal.js index 1282ff838..a2e7be0c7 100644 --- a/extensions/BugModal/web/bug_modal.js +++ b/extensions/BugModal/web/bug_modal.js @@ -1173,12 +1173,16 @@ $(function() { // update groups var dirtyGroups = []; + var any_groups_checked = 0; $('#module-security').find('input[name=groups]').each(function() { var that = $(this); var defaultChecked = !!that.attr('checked'); if (defaultChecked !== that.is(':checked')) { dirtyGroups.push({ name: that.val(), value: that.is(':checked') }); } + if (that.is(':checked')) { + any_groups_checked = 1; + } }); $('#module-security .module-content') .html(data.groups) @@ -1186,6 +1190,16 @@ $(function() { $.each(dirtyGroups, function() { $('#module-security').find('input[value=' + this.name + ']').prop('checked', this.value); }); + // clear any default groups if user was making bug public + // unless the group is mandatory for the new product + if (!any_groups_checked) { + $('#module-security').find('input[name=groups]').each(function() { + var that = $(this); + if (!that.data('mandatory')) { + that.prop('checked', false); + } + }); + } }, function() { $('#product-throbber').hide(); -- cgit v1.2.3-24-g4f1b