diff --git a/mozilla/webtools/bugzilla/Bugzilla/Flag.pm b/mozilla/webtools/bugzilla/Bugzilla/Flag.pm index de9c3d23b8a..8e03284d051 100644 --- a/mozilla/webtools/bugzilla/Bugzilla/Flag.pm +++ b/mozilla/webtools/bugzilla/Bugzilla/Flag.pm @@ -320,9 +320,9 @@ sub validate { # - The flag is unchanged next if ($status eq $flag->{status}); - # - User in the $request_gid group can clear pending requests - next if ($status eq 'X' - && $flag->{status} eq '?' + # - User in the $request_gid group can clear pending requests and set flags + # and can rerequest set flags. + next if (($status eq 'X' || $status eq '?') && (!$flag->{type}->{request_gid} || $user->in_group(&::GroupIdToName($flag->{type}->{request_gid})))); diff --git a/mozilla/webtools/bugzilla/template/en/default/global/user-error.html.tmpl b/mozilla/webtools/bugzilla/template/en/default/global/user-error.html.tmpl index f5bb9703baa..98cd7418ba4 100644 --- a/mozilla/webtools/bugzilla/template/en/default/global/user-error.html.tmpl +++ b/mozilla/webtools/bugzilla/template/en/default/global/user-error.html.tmpl @@ -442,12 +442,10 @@ [% title = "Flag Modification Denied" %] You tried to [% IF status == "+" %] grant [% ELSIF status == "-" %] deny [% ELSIF status == "X" %] clear [% ELSE %] request [% END %] - [% name FILTER html %] - [% IF status == "?" && old_status != "X" %], but this flag is already - set[% END %]. - Only a sufficiently empowered user [% IF status == "X" %] or the user who - set [% name FILTER html %][% old_status FILTER html %] in - the first place [% END %] can make this change. + [% name FILTER html %] + [% IF status == "X" %][% old_status FILTER html %][% END %]. + + Only a sufficiently empowered user can make this change. [% ELSIF error == "format_not_found" %] [% title = "Format Not Found" %]