From 2172e50e6e6696477a20b17e3ec63dfdfa23f0c3 Mon Sep 17 00:00:00 2001 From: Rene Krenn Date: Thu, 18 Nov 2021 11:27:22 +0100 Subject: [PATCH] TT#147151 fix ajax rail for reseller contract selection Change-Id: Id45b15378a396d0c1d5fd8fe9d07be07b6015ae5 --- lib/NGCP/Panel/Controller/Reseller.pm | 3 ++- lib/NGCP/Panel/Widget/Dashboard/AdminBillingOverview.pm | 9 +++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/NGCP/Panel/Controller/Reseller.pm b/lib/NGCP/Panel/Controller/Reseller.pm index d4b0a23106..9a179222fb 100644 --- a/lib/NGCP/Panel/Controller/Reseller.pm +++ b/lib/NGCP/Panel/Controller/Reseller.pm @@ -448,10 +448,11 @@ sub ajax_contract :Chained('list_reseller') :PathPart('ajax_contract') :Args(0) $_->get_column('contract_id') } else {} } $c->stash->{resellers}->all; + my @product_ids = map { $_->id; } $c->model('DB')->resultset('products')->search_rs({ 'class' => ['reseller'] })->all; my $free_contracts = NGCP::Panel::Utils::Contract::get_contract_rs(schema => $c->model('DB'))->search_rs({ 'me.status' => { '!=' => 'terminated' }, 'me.id' => { 'not in' => \@used_contracts }, - 'product.class' => 'reseller', + 'product_id' => { -in => [ @product_ids ] }, }); NGCP::Panel::Utils::Datatables::process($c, $free_contracts, $c->stash->{contract_dt_columns}); $c->detach( $c->view("JSON") ); diff --git a/lib/NGCP/Panel/Widget/Dashboard/AdminBillingOverview.pm b/lib/NGCP/Panel/Widget/Dashboard/AdminBillingOverview.pm index f7046b2b30..7144a0baba 100644 --- a/lib/NGCP/Panel/Widget/Dashboard/AdminBillingOverview.pm +++ b/lib/NGCP/Panel/Widget/Dashboard/AdminBillingOverview.pm @@ -82,6 +82,9 @@ sub _prepare_customer_sum { # ok also for contracts without recent balance records: + my @product_ids = map { $_->id; } $c->model('DB')->resultset('products')->search_rs({ 'class' => ['sipaccount', 'pbxaccount'] })->all; + + my ($stime,$etime) = $self->_get_interval(); $c->stash( customer_sum => $c->model('DB')->resultset('cdr_period_costs')->search_rs({ @@ -90,11 +93,9 @@ sub _prepare_customer_sum { '<' => $etime, }, 'period' => 'month', - 'product.class' => { -in => [ 'sipaccount', 'pbxaccount' ] }, + 'contract,product_id' => { -in => [ @product_ids ] }, }, { - join => { - contract => 'product', - }, + join => 'contract', })->get_column('customer_cost'), );