diff options
author | lpsolit%gmail.com <> | 2005-10-14 08:42:32 +0200 |
---|---|---|
committer | lpsolit%gmail.com <> | 2005-10-14 08:42:32 +0200 |
commit | 4587cba89586ff3e00ed863748857ecf56a41532 (patch) | |
tree | 44a8f86ab9f4a9a3e8f47426de2ce334a66ca9d7 /Bugzilla/Classification.pm | |
parent | 727410cca17ff168ba4337de42782d496b9679fc (diff) | |
download | bugzilla-4587cba89586ff3e00ed863748857ecf56a41532.tar.gz bugzilla-4587cba89586ff3e00ed863748857ecf56a41532.tar.xz |
Bug 306601: Bugzilla::Classification needs a products() method - Patch by André Batosti <batosti@async.com.br> r=LpSolit a=justdave
Diffstat (limited to 'Bugzilla/Classification.pm')
-rw-r--r-- | Bugzilla/Classification.pm | 28 |
1 files changed, 28 insertions, 0 deletions
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<products> + + Description: Returns all products of the classification. + + Params: none. + + Returns: A reference to an array of Bugzilla::Product objects. + =back =head1 SUBROUTINES |