View | Details | Raw Unified | Return to bug 28948
Collapse All | Expand All

(-)a/Koha/Object.pm (-6 / +20 lines)
Lines 554-565 sub to_api { Link Here
554
    my $json_object = $self->TO_JSON;
554
    my $json_object = $self->TO_JSON;
555
555
556
    # Remove forbidden attributes if required
556
    # Remove forbidden attributes if required
557
    # FIXME: We should eventually require public_read_list in all objects and drop the conditional here.
557
    if ( $params->{public} ) {
558
    if (    $params->{public}
559
        and $self->can('public_read_list') )
560
    {
561
        for my $field ( keys %{$json_object} ) {
558
        for my $field ( keys %{$json_object} ) {
562
            delete $json_object->{$field} unless any { $_ eq $field } @{$self->public_read_list};
559
            delete $json_object->{$field} unless any { $_ eq $field } @{ $self->public_read_list };
563
        }
560
        }
564
    }
561
    }
565
562
Lines 649-654 sub to_api_mapping { Link Here
649
    return {};
646
    return {};
650
}
647
}
651
648
649
=head3 public_read_list
650
651
652
    my @public_read_list = @{$object->public_read_list};
653
654
Generic method that returns the list of database columns that are allowed to
655
be passed to render objects on the public API.
656
657
Note: this only returns an empty I<arrayref>. Each class should have its
658
own implementation.
659
660
=cut
661
662
sub public_read_list
663
 {
664
    return [];
665
}
666
652
=head3 from_api_mapping
667
=head3 from_api_mapping
653
668
654
    my $mapping = $object->from_api_mapping;
669
    my $mapping = $object->from_api_mapping;
655
- 

Return to bug 28948