From f10990783862250ca80e96ac5e8a500bed0ee636 Mon Sep 17 00:00:00 2001 From: Byron Jones Date: Mon, 22 Jul 2013 13:19:19 +0800 Subject: Bug 850986: don't allow setting a flag's requestee to a disabled account r=dkl, a=justdave --- Bugzilla/Flag.pm | 7 ++++++- template/en/default/global/user-error.html.tmpl | 7 ++++++- 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 @@
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 [% type.name FILTER html %]. + [% ELSIF error == "flag_requestee_disabled" %] + [% title = "Flag Requestee Disabled" %] + You can't ask [% requestee.identity FILTER html %] 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 -- cgit v1.2.3-24-g4f1b