diff options
Diffstat (limited to 'extensions')
-rw-r--r-- | extensions/BugModal/template/en/default/bug_modal/new_product_groups.html.tmpl | 31 | ||||
-rw-r--r-- | extensions/BugModal/web/bug_modal.js | 14 |
2 files changed, 30 insertions, 15 deletions
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 %] <input type="hidden" name="group_verified" value="1"> [% BLOCK group_list %] - [% RETURN UNLESS group_set.size %] + [% RETURN UNLESS groups.$type.size %] [% FILTER collapse %] <div> <div> [% label FILTER html %] </div> - [% FOREACH g = group_set %] + [% FOREACH g = groups.$type %] <div> [% IF g.checked %] <input type="hidden" name="defined_groups" value="[% g.name FILTER html %]"> @@ -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" %]> <label for="group_[% g.id FILTER none %]" [%= IF disabled %]class="group-disabled"[% END %]> [% g.description FILTER html %] </label> 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(); |