summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrank Becker <Frank@Frank-Becker.de>2012-03-30 00:30:17 +0200
committerDave Lawrence <dlawrence@mozilla.com>2012-03-30 00:30:17 +0200
commit08f045973a668352241d167b65004e7f40531f9f (patch)
treea371483a0f420aa829e5f34787e6da934f841abf
parent29416b9fc691e0af9ba8974c5f24f8ad4b9f8c16 (diff)
downloadbugzilla-08f045973a668352241d167b65004e7f40531f9f.tar.gz
bugzilla-08f045973a668352241d167b65004e7f40531f9f.tar.xz
Bug 690879 - Webservice Bug.fields should include include keyword name and description as legal values
r=dkl, a=LpSolit
-rw-r--r--Bugzilla/WebService/Bug.pm21
1 files changed, 18 insertions, 3 deletions
diff --git a/Bugzilla/WebService/Bug.pm b/Bugzilla/WebService/Bug.pm
index 8d117992c..940ab12fd 100644
--- a/Bugzilla/WebService/Bug.pm
+++ b/Bugzilla/WebService/Bug.pm
@@ -104,11 +104,12 @@ sub fields {
my (@values, $has_values);
if ( ($field->is_select and $field->name ne 'product')
- or grep($_ eq $field->name, PRODUCT_SPECIFIC_FIELDS))
+ or grep($_ eq $field->name, PRODUCT_SPECIFIC_FIELDS)
+ or $field->name eq 'keywords')
{
$has_values = 1;
@values = @{ $self->_legal_field_values({ field => $field }) };
- }
+ }
if (grep($_ eq $field->name, PRODUCT_SPECIFIC_FIELDS)) {
$value_field = 'product';
@@ -198,6 +199,15 @@ sub _legal_field_values {
}
}
+ elsif ($field_name eq 'keywords') {
+ my @legal_keywords = Bugzilla::Keyword->get_all;
+ foreach my $value (@legal_keywords) {
+ push (@result, {
+ name => $self->type('string', $value->name),
+ description => $self->type('string', $value->description),
+ });
+ }
+ }
else {
my @values = Bugzilla::Field::Choice->type($field)->get_all();
foreach my $value (@values) {
@@ -1100,7 +1110,7 @@ values of the field are shown in the user interface. Can be null.
This is an array of hashes, representing the legal values for
select-type (drop-down and multiple-selection) fields. This is also
-populated for the C<component>, C<version>, and C<target_milestone>
+populated for the C<component>, C<version>, C<target_milestone>, and C<keywords>
fields, but not for the C<product> field (you must use
L<Product.get_accessible_products|Bugzilla::WebService::Product/get_accessible_products>
for that.
@@ -1133,6 +1143,11 @@ if the C<value_field> is set to one of the values listed in this array.
Note that for per-product fields, C<value_field> is set to C<'product'>
and C<visibility_values> will reflect which product(s) this value appears in.
+=item C<description>
+
+C<string> The description of the value. This item is only included for the
+C<keywords> field.
+
=item C<is_open>
C<boolean> For C<bug_status> values, determines whether this status