TT#37650 Force ngcp:collection entities to array

Change-Id: I34955929871d7a8c0327ad2c252cddd68fcf16d7
changes/69/22269/11
Irina Peshinskaya 8 years ago
parent a97cbbab0d
commit c72c74b174

@ -260,9 +260,25 @@ __PACKAGE__->log(Log::Log4perl::Catalyst->new($logger_config));
# configure Data::HAL depending on our config
{
my $panel_config = get_panel_config;
if ($panel_config->{appearance}{api_embedded_forcearray}) {
if ($panel_config->{appearance}{api_embedded_forcearray} || $panel_config->{appearance}{api_links_forcearray}) {
require Data::HAL;
$Data::HAL::__forcearray_underneath = {embedded => 1};
*{Data::HAL::forcearray_policy} = sub {
my ($self, $root, $property_type, $relation, $property) = @_;
my $embedded = $root->embedded ? $root->embedded->[0] : undef;
if ($embedded
&& ( ( $property_type eq 'links' && $panel_config->{appearance}{api_links_forcearray} )
|| ( $property_type eq 'embedded' && $panel_config->{appearance}{api_embedded_forcearray}) )
&& $relation =~/^ngcp:[a-z0-9]+$/
) {
return 1;
}
if (!$embedded
&& ( ( $property_type eq 'links' && $panel_config->{appearance}{api_links_forcearray} ) )
&& $relation =~/^ngcp:[a-z0-9]+$/
) {
return 1;
}
};
}
}

Loading…
Cancel
Save