TT#65101 improve expand=all, /api/domains care roles support

* expand=all now expands by the all resource keys instead
  of the current form fields, that is to reflect keys that
  are created manually in the response such as reseller_id
  or domain_id
* ccare roles now correctly support /api/domains

Change-Id: I9951bfd97b76186def4dc799c72da44425faea4a
mr11.0
Kirill Solomko 3 years ago
parent 57a8cefd2c
commit 5a18d5fee8

@ -1307,7 +1307,7 @@ sub expand_fields {
my $soft_expand = $c->req->params->{soft_expand} // 0;
my $expand_param = $c->req->param('expand') // return 1;
my $all = $expand_param eq 'all' ? 1 : 0;
my @expand_fields = $all ? map { $_->name } $resource_form->fields
my @expand_fields = $all ? sort { $a cmp $b } keys %{$resource}
: split /,/, $expand_param;
foreach my $field (@expand_fields) {

@ -14,9 +14,9 @@ use NGCP::Panel::Utils::Prosody;
sub get_form {
my ($self, $c) = @_;
if($c->user->roles eq "admin") {
if($c->user->roles eq "admin" || $c->user->roles eq "ccareadmin") {
return NGCP::Panel::Form::get("NGCP::Panel::Form::Domain::Admin", $c);
} elsif($c->user->roles eq "reseller") {
} elsif($c->user->roles eq "reseller" || $c->user->roles eq "ccare") {
return NGCP::Panel::Form::get("NGCP::Panel::Form::Domain::Reseller", $c);
}
return;
@ -38,7 +38,7 @@ sub resource_from_item {
$resource{id} = int($item->id);
if ($c->user->roles eq "admin") {
if ($c->user->roles eq "admin" || $c->user->roles eq "ccareadmin") {
$resource{reseller_id} = $item->reseller_id;
}
@ -77,9 +77,9 @@ sub _item_rs {
my ($self, $c) = @_;
my $item_rs;
if($c->user->roles eq "admin") {
if($c->user->roles eq "admin" || $c->user->roles eq "ccareadmin") {
$item_rs = $c->model('DB')->resultset('domains');
} elsif($c->user->roles eq "reseller") {
} elsif($c->user->roles eq "reseller" || $c->user->roles eq "ccare") {
$item_rs = $c->model('DB')->resultset('domains')->search({
reseller_id => $c->user->reseller_id,
});

Loading…
Cancel
Save