summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjocuri%softhome.net <>2004-11-03 07:59:39 +0100
committerjocuri%softhome.net <>2004-11-03 07:59:39 +0100
commit9ad9385a463557b40163f890b06a882679962b29 (patch)
tree4cafaae739845f3de28204bc320910cd59469d70
parent038e3b0e82dde2dec9a426cbbdf4e615d5f2a308 (diff)
downloadbugzilla-9ad9385a463557b40163f890b06a882679962b29.tar.gz
bugzilla-9ad9385a463557b40163f890b06a882679962b29.tar.xz
Patch for bug 212017: Should be able to change a bug if it has a flag requested that is no longer requestable; patch by Frédéric Buclin <LpSolit@netscape.net>; r=myk, vladd, a=myk.
-rw-r--r--Bugzilla/Flag.pm4
-rw-r--r--template/en/default/flag/list.html.tmpl2
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 %]