diff options
-rw-r--r-- | Bugzilla/Flag.pm | 6 | ||||
-rw-r--r-- | template/en/default/global/user-error.html.tmpl | 10 |
2 files changed, 7 insertions, 9 deletions
diff --git a/Bugzilla/Flag.pm b/Bugzilla/Flag.pm index de9c3d23b..8e03284d0 100644 --- a/Bugzilla/Flag.pm +++ b/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/template/en/default/global/user-error.html.tmpl b/template/en/default/global/user-error.html.tmpl index f5bb9703b..98cd7418b 100644 --- a/template/en/default/global/user-error.html.tmpl +++ b/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 %] - <code>[% name FILTER html %]</code> - [% 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 <code>[% name FILTER html %][% old_status FILTER html %]</code> in - the first place [% END %] can make this change. + <code>[% name FILTER html %] + [% IF status == "X" %][% old_status FILTER html %][% END %]</code>. + + Only a sufficiently empowered user can make this change. [% ELSIF error == "format_not_found" %] [% title = "Format Not Found" %] |