summaryrefslogtreecommitdiffstats
path: root/Bugzilla/WebService/Classification.pm
diff options
context:
space:
mode:
authorDavid Lawrence <dkl@mozilla.com>2014-04-11 16:58:03 +0200
committerDavid Lawrence <dkl@mozilla.com>2014-04-11 16:58:03 +0200
commit32931bb0370328c142e9d63f410d94f9db3c764d (patch)
treee84689678890ebbefc4cda99e448820f0d352d73 /Bugzilla/WebService/Classification.pm
parentad9b149541d21e6e4e782da9785ba5fd16e9ccc7 (diff)
downloadbugzilla-32931bb0370328c142e9d63f410d94f9db3c764d.tar.gz
bugzilla-32931bb0370328c142e9d63f410d94f9db3c764d.tar.xz
Bug 540818 - Improve include_fields and exclude_fields to accept _default, _all and _custom keywords
r=glob,a=justdave
Diffstat (limited to 'Bugzilla/WebService/Classification.pm')
-rw-r--r--Bugzilla/WebService/Classification.pm22
1 files changed, 10 insertions, 12 deletions
diff --git a/Bugzilla/WebService/Classification.pm b/Bugzilla/WebService/Classification.pm
index 012af6268..bbc967ce7 100644
--- a/Bugzilla/WebService/Classification.pm
+++ b/Bugzilla/WebService/Classification.pm
@@ -41,39 +41,37 @@ sub get {
@classification_objs = grep { $selectable_class{$_->id} } @classification_objs;
}
- my @classifications = map { filter($params, $self->_classification_to_hash($_)) } @classification_objs;
+ my @classifications = map { $self->_classification_to_hash($_, $params) } @classification_objs;
return { classifications => \@classifications };
}
sub _classification_to_hash {
- my ($self, $classification) = @_;
+ my ($self, $classification, $params) = @_;
my $user = Bugzilla->user;
return unless (Bugzilla->params->{'useclassification'} || $user->in_group('editclassifications'));
my $products = $user->in_group('editclassifications') ?
$classification->products : $user->get_selectable_products($classification->id);
- my %hash = (
+
+ return filter $params, {
id => $self->type('int', $classification->id),
name => $self->type('string', $classification->name),
description => $self->type('string', $classification->description),
sort_key => $self->type('int', $classification->sortkey),
- products => [ map { $self->_product_to_hash($_) } @$products ],
- );
-
- return \%hash;
+ products => [ map { $self->_product_to_hash($_, $params) } @$products ],
+ };
}
sub _product_to_hash {
- my ($self, $product) = @_;
- my %hash = (
+ my ($self, $product, $params) = @_;
+
+ return filter $params, {
id => $self->type('int', $product->id),
name => $self->type('string', $product->name),
description => $self->type('string', $product->description),
- );
-
- return \%hash;
+ }, undef, 'products';
}
1;