<<

# Bugzilla::Product

- NAME
- SYNOPSIS
- DESCRIPTION
- METHODS
- SUBROUTINES
- SEE ALSO

# NAME

Bugzilla::Product - Bugzilla product class.

# SYNOPSIS

        use Bugzilla::Product;

        my $product = new Bugzilla::Product(1);
        my $product = new Bugzilla::Product({ name => 'AcmeProduct' });

        my @components      = $product->components();
        my $groups_controls = $product->group_controls();
        my @milestones      = $product->milestones();
        my @versions        = $product->versions();
        my $bugcount        = $product->bug_count();
        my $bug_ids         = $product->bug_ids();
        my $has_access      = $product->user_has_access($user);
        my $flag_types      = $product->flag_types();

        my $id               = $product->id;
        my $name             = $product->name;
        my $description      = $product->description;
        my $milestoneurl     = $product->milestone_url;
        my disallownew       = $product->disallow_new;
        my votesperuser      = $product->votes_per_user;
        my maxvotesperbug    = $product->max_votes_per_bug;
        my votestoconfirm    = $product->votes_to_confirm;
        my $defaultmilestone = $product->default_milestone;
        my $classificationid = $product->classification_id;

# DESCRIPTION

Product.pm represents a product object. It is an implementation of Bugzilla::Object, and thus provides all methods that Bugzilla::Object provides.

The methods that are specific to `Bugzilla::Product` are listed below.

# METHODS

`components()`

       Description: Returns an array of component objects belonging to
                    the product.

       Params:      none.

       Returns:     An array of Bugzilla::Component object.

`group_controls()`

       Description: Returns a hash (group id as key) with all product
                    group controls.

       Params:      none.

       Returns:     A hash with group id as key and hash containing
                    a Bugzilla::Group object and the properties of group
                    relative to the product.

`versions()`

       Description: Returns all valid versions for that product.

       Params:      none.

       Returns:     An array of Bugzilla::Version objects.

`milestones()`

       Description: Returns all valid milestones for that product.

       Params:      none.

       Returns:     An array of Bugzilla::Milestone objects.

`bug_count()`

       Description: Returns the total of bugs that belong to the product.

       Params:      none.

       Returns:     Integer with the number of bugs.

`bug_ids()`

       Description: Returns the IDs of bugs that belong to the product.

       Params:      none.

       Returns:     An array of integer.

`user_has_access()`

       Description: Tells you whether or not the user is allowed to enter
                    bugs into this product, based on the C<entry> group
                    control. To see whether or not a user can actually
                    enter a bug into a product, use C<$user-&gt;can_enter_product>.

       Params:      C<$user> - A Bugzilla::User object.

       Returns      C<1> If this user's groups allow him C<entry> access to
                    this Product, C<0> otherwise.

`flag_types()`

       Description: Returns flag types available for at least one of
                    its components.

       Params:      none.

       Returns:     Two references to an array of flagtype objects.

# SUBROUTINES

`check_product($product_name)`

       Description: Checks if the product name was passed in and if is a valid
                    product.

       Params:      $product_name - String with a product name.

       Returns:     Bugzilla::Product object.

# SEE ALSO

Bugzilla::Object

<<