From 4587cba89586ff3e00ed863748857ecf56a41532 Mon Sep 17 00:00:00 2001 From: "lpsolit%gmail.com" <> Date: Fri, 14 Oct 2005 06:42:32 +0000 Subject: Bug 306601: Bugzilla::Classification needs a products() method - Patch by André Batosti r=LpSolit a=justdave MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Bugzilla/Classification.pm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'Bugzilla/Classification.pm') diff --git a/Bugzilla/Classification.pm b/Bugzilla/Classification.pm index 50094df0a..fae932b85 100644 --- a/Bugzilla/Classification.pm +++ b/Bugzilla/Classification.pm @@ -21,6 +21,7 @@ package Bugzilla::Classification; use Bugzilla::Util; use Bugzilla::Error; +use Bugzilla::Product; ############################### #### Initialization #### @@ -92,6 +93,24 @@ sub product_count { return $self->{'product_count'}; } +sub products { + my $self = shift; + my $dbh = Bugzilla->dbh; + + if (!$self->{'products'}) { + my $product_ids = $dbh->selectcol_arrayref(q{ + SELECT id FROM products + WHERE classification_id = ?}, undef, $self->id); + + my @products; + foreach my $product_id (@$product_ids) { + push (@products, new Bugzilla::Product($product_id)); + } + $self->{'products'} = \@products; + } + return $self->{'products'}; +} + ############################### #### Accessors #### ############################### @@ -154,6 +173,7 @@ Bugzilla::Classification - Bugzilla classification class. my $name = $classification->name; my $description = $classification->description; my $product_count = $classification->product_count; + my $products = $classification->products; my $hash_ref = Bugzilla::Classification::get_all_classifications(); my $classification = $hash_ref->{1}; @@ -194,6 +214,14 @@ A Classification is a higher-level grouping of Products. Returns: Integer - The total of products inside the classification. +=item C + + Description: Returns all products of the classification. + + Params: none. + + Returns: A reference to an array of Bugzilla::Product objects. + =back =head1 SUBROUTINES -- cgit v1.2.3-24-g4f1b