]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 554536: [WebService] Make Bug.fields not send the "values" item for
authorMax Kanat-Alexander <mkanat@bugzilla.org>
Sun, 28 Mar 2010 21:27:31 +0000 (14:27 -0700)
committerMax Kanat-Alexander <mkanat@bugzilla.org>
Sun, 28 Mar 2010 21:27:31 +0000 (14:27 -0700)
fields that don't have a list of values
r=dkl, a=mkanat

Bugzilla/WebService/Bug.pm

index abae154af6dab8da872a5f5e98b4ea8a592af9df..881715d036816c6c3f8c1b7962f2faff1173a546 100644 (file)
@@ -98,10 +98,11 @@ sub fields {
         my $value_field = $field->value_field
                           ? $field->value_field->name : undef;
 
-        my @values;
+        my (@values, $has_values);
         if ( ($field->is_select and $field->name ne 'product')
              or grep($_ eq $field->name, PRODUCT_SPECIFIC_FIELDS))
         {
+             $has_values = 1;
              @values = @{ $self->_legal_field_values({ field => $field }) };
         }
 
@@ -109,7 +110,7 @@ sub fields {
              $value_field = 'product';
         }
 
-        push (@fields_out, filter $params, {
+        my %field_data = (
            id                => $self->type('int', $field->id),
            type              => $self->type('int', $field->type),
            is_custom         => $self->type('boolean', $field->custom),
@@ -118,9 +119,12 @@ sub fields {
            is_on_bug_entry   => $self->type('boolean', $field->enter_bug),
            visibility_field  => $self->type('string', $visibility_field),
            visibility_values => [$self->type('string', $visibility_value)],
-           value_field       => $self->type('string', $value_field),
-           values            => \@values,
-        });
+        );
+        if ($has_values) {
+           $field_data{value_field} = $self->type('string', $value_field);
+           $field_data{values}      = \@values;
+        };
+        push(@fields_out, filter $params, \%field_data);
     }
 
     return { fields => \@fields_out };