From 2904de66b9fa63952533ede7f087f2bf7137a408 Mon Sep 17 00:00:00 2001 From: Kirill Solomko Date: Wed, 23 Nov 2022 14:56:06 +0100 Subject: [PATCH] MT#56028 /api/cftimesets subscriberadmin role change * subscriberadmin is now able to fetch cftimesets of other subsribers that belong to the customer Change-Id: If7931e154ab825a6ebca25bec49b8ea28d87bafd --- lib/NGCP/Panel/Role/API/CFTimeSets.pm | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/lib/NGCP/Panel/Role/API/CFTimeSets.pm b/lib/NGCP/Panel/Role/API/CFTimeSets.pm index 805d311463..393751a19a 100644 --- a/lib/NGCP/Panel/Role/API/CFTimeSets.pm +++ b/lib/NGCP/Panel/Role/API/CFTimeSets.pm @@ -356,17 +356,21 @@ sub _item_rs { $item_rs = $c->model('DB')->resultset('voip_cf_time_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_time_sets') - ->search_rs({ - 'reseller_id' => $reseller_id, - } , { - join => {'subscriber' => {'contract' => 'contact'} }, - }); - } elsif ($c->user->roles eq "subscriberadmin" || $c->user->roles eq "subscriber") { - $item_rs = $c->model('DB')->resultset('voip_cf_time_sets') - ->search_rs({ - 'subscriber_id' => $c->user->id, - }); + $item_rs = $c->model('DB')->resultset('voip_cf_time_sets')->search_rs({ + 'reseller_id' => $reseller_id, + },{ + join => {'subscriber' => {'contract' => 'contact'} }, + }); + } elsif ($c->user->roles eq "subscriberadmin") { + $item_rs = $c->model('DB')->resultset('voip_cf_time_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_time_sets')->search_rs({ + 'subscriber_id' => $c->user->id, + }); } return $item_rs;