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

git-svn-id: svn://10.0.0.236/branches/BUGZILLA-3_4-BRANCH@257248 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
lpsolit%gmail.com 2009-05-21 08:47:20 +00:00
parent f1675e70c4
commit 192df19b64
2 changed files with 21 additions and 1 deletions

View File

@ -768,6 +768,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;
@ -1996,6 +2002,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.

View File

@ -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};