diff --git a/lib/NGCP/Panel/Role/API/CFBNumberSets.pm b/lib/NGCP/Panel/Role/API/CFBNumberSets.pm index cb39c020f0..a1fadc497c 100644 --- a/lib/NGCP/Panel/Role/API/CFBNumberSets.pm +++ b/lib/NGCP/Panel/Role/API/CFBNumberSets.pm @@ -45,18 +45,21 @@ sub _item_rs { $item_rs = $c->model('DB')->resultset('voip_cf_bnumber_sets'); } elsif ($c->user->roles eq "reseller" || $c->user->roles eq "ccare") { my $reseller_id = $c->user->reseller_id; - $item_rs = $c->model('DB')->resultset('voip_cf_bnumber_sets') - ->search_rs({ - 'reseller_id' => $reseller_id, - } , { - join => {'subscriber' => {'contract' => 'contact'} }, - }); - # TODO: do we want subscriberadmins to update other subs' entries? - } elsif ($c->user->roles eq "subscriberadmin" || $c->user->roles eq "subscriber") { - $item_rs = $c->model('DB')->resultset('voip_cf_bnumber_sets') - ->search_rs({ - 'subscriber_id' => $c->user->id, - }); + $item_rs = $c->model('DB')->resultset('voip_cf_bnumber_sets')->search_rs({ + 'contact.reseller_id' => $reseller_id, + },{ + join => { 'subscriber' => { 'contract' => 'contact' } }, + }); + } elsif ($c->user->roles eq "subscriberadmin") { + $item_rs = $c->model('DB')->resultset('voip_cf_bnumber_sets')->search_rs({ + 'subscriber.account_id' => $c->user->account_id, + },{ + join => 'subscriber', + }); + } elsif ($c->user->roles eq "subscriber") { + $item_rs = $c->model('DB')->resultset('voip_cf_bnumber_sets')->search_rs({ + 'subscriber_id' => $c->user->id, + }); } return $item_rs;