From 9a06328baf47df36e86909040d0f4aa8678632b5 Mon Sep 17 00:00:00 2001 From: Irina Peshinskaya Date: Sun, 9 Nov 2014 12:24:54 +0200 Subject: [PATCH] MT#10041 Fix join for reseller account. --- .../Panel/Role/API/SubscriberRegistrations.pm | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/NGCP/Panel/Role/API/SubscriberRegistrations.pm b/lib/NGCP/Panel/Role/API/SubscriberRegistrations.pm index 5b4f05ab1e..9ce3b2cce1 100644 --- a/lib/NGCP/Panel/Role/API/SubscriberRegistrations.pm +++ b/lib/NGCP/Panel/Role/API/SubscriberRegistrations.pm @@ -17,21 +17,22 @@ use NGCP::Panel::Utils::Kamailio; sub item_rs { my ($self, $c) = @_; - my @joins = ('subscriber'); + my @joins = ();; if($c->config->{features}->{multidomain}) { push @joins, 'domain'; } - my $item_rs = $c->model('DB')->resultset('location')->search({ - - },{ - join => \@joins, - }); + my $item_rs = $c->model('DB')->resultset('location'); if($c->user->roles eq "admin") { + $item_rs = $item_rs->search({ + + },{ + join => [@joins,'subscriber'], + }); } elsif($c->user->roles eq "reseller") { $item_rs = $item_rs->search({ 'contact.reseller_id' => $c->user->reseller_id },{ - join => { } + join => [@joins, { 'subscriber' => { 'voip_subscriber' => { 'contract' => 'contact' }}} ], }); } return $item_rs; @@ -93,6 +94,7 @@ sub resource_from_item { sub item_by_id { my ($self, $c, $id) = @_; + my $item_rs = $self->item_rs($c); return $item_rs->find($id); }