summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorByron Jones <bjones@mozilla.com>2013-07-22 07:19:19 +0200
committerByron Jones <bjones@mozilla.com>2013-07-22 07:19:19 +0200
commitf10990783862250ca80e96ac5e8a500bed0ee636 (patch)
tree479e389968f523d82ab6b0ac973c9fe5b45cf60a
parentca9d0d9120c56b0aa3c3cadcb4759768140cc947 (diff)
downloadbugzilla-f10990783862250ca80e96ac5e8a500bed0ee636.tar.gz
bugzilla-f10990783862250ca80e96ac5e8a500bed0ee636.tar.xz
Bug 850986: don't allow setting a flag's requestee to a disabled account
r=dkl, a=justdave
-rw-r--r--Bugzilla/Flag.pm7
-rw-r--r--template/en/default/global/user-error.html.tmpl7
2 files changed, 12 insertions, 2 deletions
diff --git a/Bugzilla/Flag.pm b/Bugzilla/Flag.pm
index 98029a1b1..e1e75f832 100644
--- a/Bugzilla/Flag.pm
+++ b/Bugzilla/Flag.pm
@@ -668,9 +668,14 @@ sub _check_requestee {
# is specifically requestable. For existing flags, if the requestee
# was set before the flag became specifically unrequestable, the
# user can either remove him or leave him alone.
- ThrowUserError('flag_requestee_disabled', { type => $self->type })
+ ThrowUserError('flag_type_requestee_disabled', { type => $self->type })
if !$self->type->is_requesteeble;
+ # You can't ask a disabled account, as they don't have the ability to
+ # set the flag.
+ ThrowUserError('flag_requestee_disabled', { requestee => $requestee })
+ if !$requestee->is_enabled;
+
# Make sure the requestee can see the bug.
# Note that can_see_bug() will query the DB, so if the bug
# is being added/removed from some groups and these changes
diff --git a/template/en/default/global/user-error.html.tmpl b/template/en/default/global/user-error.html.tmpl
index 6bb0a2bae..a4c900a22 100644
--- a/template/en/default/global/user-error.html.tmpl
+++ b/template/en/default/global/user-error.html.tmpl
@@ -633,10 +633,15 @@
<br>Alternately, if your attachment is an image, you could convert
it to a compressible format like JPG or PNG and try again.
- [% ELSIF error == "flag_requestee_disabled" %]
+ [% ELSIF error == "flag_type_requestee_disabled" %]
[% title = "Flag not Requestable from Specific Person" %]
You can't ask a specific person for <em>[% type.name FILTER html %]</em>.
+ [% ELSIF error == "flag_requestee_disabled" %]
+ [% title = "Flag Requestee Disabled" %]
+ You can't ask <em>[% requestee.identity FILTER html %]</em> because that
+ account is disabled.
+
[% ELSIF error == "flag_requestee_needs_privs" %]
[% title = "Flag Requestee Needs Privileges" %]
[% requestee.identity FILTER html %] does not have permission to set the