diff options
author | lpsolit%gmail.com <> | 2009-05-21 10:43:23 +0200 |
---|---|---|
committer | lpsolit%gmail.com <> | 2009-05-21 10:43:23 +0200 |
commit | d04cb25873a44ba7d0eb9e8580180dd4a64e8cef (patch) | |
tree | a76548be71f093aa66633339db5dc477bbf14a80 | |
parent | 8eed4a2c9dddf6f03090ca516e6eca6c79c2a05a (diff) | |
download | bugzilla-d04cb25873a44ba7d0eb9e8580180dd4a64e8cef.tar.gz bugzilla-d04cb25873a44ba7d0eb9e8580180dd4a64e8cef.tar.xz |
Bug 339679: describecomponents.cgi doesn't show components of closed products, even when there are bugs in these products - Patch by Frédéric Buclin <LpSolit@gmail.com> r=ghendricks a=LpSolit
-rw-r--r-- | Bugzilla/User.pm | 20 | ||||
-rwxr-xr-x | describecomponents.cgi | 2 |
2 files changed, 21 insertions, 1 deletions
diff --git a/Bugzilla/User.pm b/Bugzilla/User.pm index bc142636e..ac6e72711 100644 --- a/Bugzilla/User.pm +++ b/Bugzilla/User.pm @@ -777,6 +777,12 @@ sub get_enterable_products { return $self->{enterable_products}; } +sub can_access_product { + my ($self, $product_name) = @_; + + return scalar(grep {$_->name eq $product_name} @{$self->get_accessible_products}); +} + sub get_accessible_products { my $self = shift; @@ -2003,6 +2009,20 @@ method should be called in such a case to force reresolution of these groups. Returns: an array of product objects. +=item C<can_access_product(product_name)> + +Returns 1 if the user can search or enter bugs into the specified product, +and 0 if the user should not be aware of the existence of the product. + +=item C<get_accessible_products> + + Description: Returns an array of product objects the user can search + or enter bugs against. + + Params: none + + Returns: an array of product objects. + =item C<check_can_admin_product($product_name)> Description: Checks whether the user is allowed to administrate the product. diff --git a/describecomponents.cgi b/describecomponents.cgi index 6d4722ad8..744501bbd 100755 --- a/describecomponents.cgi +++ b/describecomponents.cgi @@ -44,7 +44,7 @@ Bugzilla->switch_to_shadow_db; my $product_name = trim($cgi->param('product') || ''); my $product = new Bugzilla::Product({'name' => $product_name}); -unless ($product && $user->can_enter_product($product->name)) { +unless ($product && $user->can_access_product($product->name)) { # Products which the user is allowed to see. my @products = @{$user->get_enterable_products}; |