~evan-goer/bugzilla-yui3/yui3

« back to all changes in this revision

Viewing changes to Bugzilla/WebService/Product.pm

  • Committer: Evan Goer
  • Date: 2013-03-12 18:41:26 UTC
  • mfrom: (8510.1.77 trunk)
  • Revision ID: goer@yahoo-inc.com-20130312184126-1h52s7zm16zdbhdz
Merge upstream changes, resolve conflicts

Show diffs side-by-side

added added

removed removed

Lines of Context:
214
214
    }
215
215
    if (filter_wants($params, 'versions')) {
216
216
        $field_data->{versions} = [map {
217
 
            $self->_version_to_hash($_)
 
217
            $self->_version_to_hash($_, $params)
218
218
        } @{$product->versions}];
219
219
    }
220
220
    if (filter_wants($params, 'milestones')) {
221
221
        $field_data->{milestones} = [map {
222
 
            $self->_milestone_to_hash($_)
 
222
            $self->_milestone_to_hash($_, $params)
223
223
        } @{$product->milestones}];
224
224
    }
225
225
    return filter($params, $field_data);
243
243
            0,
244
244
        is_active =>
245
245
            $self->type('boolean', $component->is_active),
246
 
        flag_types => {
 
246
    };
 
247
 
 
248
    if (filter_wants($params, 'flag_types', 'components')) {
 
249
        $field_data->{flag_types} = {
247
250
            bug =>
248
251
                [map {
249
 
                    $self->_flag_type_to_hash($_, $params)
 
252
                    $self->_flag_type_to_hash($_)
250
253
                } @{$component->flag_types->{'bug'}}],
251
254
            attachment =>
252
255
                [map {
253
 
                    $self->_flag_type_to_hash($_, $params)
 
256
                    $self->_flag_type_to_hash($_)
254
257
                } @{$component->flag_types->{'attachment'}}],
255
 
        }
256
 
    };
257
 
    return filter($params, $field_data, 'component');
 
258
        };
 
259
    }
 
260
    return filter($params, $field_data, 'components');
258
261
}
259
262
 
260
263
sub _flag_type_to_hash {
261
 
    my ($self, $flag_type, $params) = @_;
262
 
    my $field_data = {
 
264
    my ($self, $flag_type) = @_;
 
265
    return {
263
266
        id =>
264
267
            $self->type('int', $flag_type->id),
265
268
        name =>
283
286
        request_group =>
284
287
            $self->type('int', $flag_type->request_group_id),
285
288
    };
286
 
    return filter($params, $field_data, 'flag_type');
287
289
}
288
290
 
289
291
sub _version_to_hash {
290
 
    my ($self, $version) = @_;
291
 
    return {
 
292
    my ($self, $version, $params) = @_;
 
293
    my $field_data = {
292
294
        id =>
293
295
            $self->type('int', $version->id),
294
296
        name =>
298
300
        is_active =>
299
301
            $self->type('boolean', $version->is_active),
300
302
    };
 
303
    return filter($params, $field_data, 'versions');
301
304
}
302
305
 
303
306
sub _milestone_to_hash {
304
 
    my ($self, $milestone) = @_;
305
 
    return {
 
307
    my ($self, $milestone, $params) = @_;
 
308
    my $field_data = {
306
309
        id =>
307
310
            $self->type('int', $milestone->id),
308
311
        name =>
312
315
        is_active =>
313
316
            $self->type('boolean', $milestone->is_active),
314
317
    };
 
318
    return filter($params, $field_data, 'milestones');
315
319
}
316
320
 
317
321
1;
419
423
standard L<include_fields|Bugzilla::WebService/include_fields> and
420
424
L<exclude_fields|Bugzilla::WebService/exclude_fields> arguments.
421
425
 
 
426
This RPC call supports sub field restrictions.
 
427
 
422
428
=over
423
429
 
424
430
=item C<ids>