diff options
-rw-r--r-- | Bugzilla/Flag.pm | 4 | ||||
-rw-r--r-- | template/en/default/flag/list.html.tmpl | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/Bugzilla/Flag.pm b/Bugzilla/Flag.pm index aca271261..a58bc7e3a 100644 --- a/Bugzilla/Flag.pm +++ b/Bugzilla/Flag.pm @@ -166,7 +166,9 @@ sub validate { { id => $id, status => $status }); # Make sure the user didn't request the flag unless it's requestable. - if ($status eq '?' && !$flag->{type}->{is_requestable}) { + # If the flag was requested before it became unrequestable, leave it as is. + if ($status eq '?' && $flag->{status} ne '?' && + !$flag->{type}->{is_requestable}) { ThrowCodeError("flag_status_invalid", { id => $id, status => $status }); } diff --git a/template/en/default/flag/list.html.tmpl b/template/en/default/flag/list.html.tmpl index 75e61d774..c93515842 100644 --- a/template/en/default/flag/list.html.tmpl +++ b/template/en/default/flag/list.html.tmpl @@ -103,7 +103,7 @@ [% IF type.is_active %] <option value="+" [% "selected" IF flag.status == "+" %]>+</option> <option value="-" [% "selected" IF flag.status == "-" %]>-</option> - [% IF type.is_requestable %] + [% IF type.is_requestable || flag.status == "?" %] <option value="?" [% "selected" IF flag.status == "?" %]>?</option> [% END %] [% ELSE %] |