summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Classification.pm
diff options
context:
space:
mode:
authorlpsolit%gmail.com <>2005-10-14 08:42:32 +0200
committerlpsolit%gmail.com <>2005-10-14 08:42:32 +0200
commit4587cba89586ff3e00ed863748857ecf56a41532 (patch)
tree44a8f86ab9f4a9a3e8f47426de2ce334a66ca9d7 /Bugzilla/Classification.pm
parent727410cca17ff168ba4337de42782d496b9679fc (diff)
downloadbugzilla-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.pm28
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