From f90a0b775e927aad00631ce80d282186a3022af5 Mon Sep 17 00:00:00 2001 From: "lpsolit%gmail.com" <> Date: Wed, 20 Sep 2006 04:47:49 +0000 Subject: Bug 348518: grant / reject options for flag listbox should only appear if user is a member of grantgroup - Patch by Frédéric Buclin r/a=myk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Bugzilla/User.pm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'Bugzilla/User.pm') diff --git a/Bugzilla/User.pm b/Bugzilla/User.pm index 4cb2c4469..961b2ca0b 100644 --- a/Bugzilla/User.pm +++ b/Bugzilla/User.pm @@ -642,6 +642,21 @@ sub get_enterable_products { return $self->{enterable_products}; } +sub can_request_flag { + my ($self, $flag_type) = @_; + + return ($self->can_set_flag($flag_type) + || !$flag_type->request_group + || $self->in_group_id($flag_type->request_group->id)) ? 1 : 0; +} + +sub can_set_flag { + my ($self, $flag_type) = @_; + + return (!$flag_type->grant_group + || $self->in_group_id($flag_type->grant_group->id)) ? 1 : 0; +} + # visible_groups_inherited returns a reference to a list of all the groups # whose members are visible to this user. sub visible_groups_inherited { @@ -1741,6 +1756,24 @@ method should be called in such a case to force reresolution of these groups. Returns: an array of product objects. +=item C + + Description: Checks whether the user can request flags of the given type. + + Params: $flag_type - a Bugzilla::FlagType object. + + Returns: 1 if the user can request flags of the given type, + 0 otherwise. + +=item C + + Description: Checks whether the user can set flags of the given type. + + Params: $flag_type - a Bugzilla::FlagType object. + + Returns: 1 if the user can set flags of the given type, + 0 otherwise. + =item C Returns a reference to an array of users. The array is populated with hashrefs -- cgit v1.2.3-24-g4f1b