diff --git a/lib/NGCP/Panel/Controller/Contract.pm b/lib/NGCP/Panel/Controller/Contract.pm index ad853b0bf8..caa4329058 100644 --- a/lib/NGCP/Panel/Controller/Contract.pm +++ b/lib/NGCP/Panel/Controller/Contract.pm @@ -338,9 +338,11 @@ sub reseller_ajax_contract_filter :Chained('reseller_list') :PathPart('ajax/cont return; } - my $rs = $c->stash->{reseller_rs}->search_rs({ - 'me.id' => $contract_id, - }); + my $rs = NGCP::Panel::Utils::Contract::get_contract_rs( + schema => $c->model('DB')) + ->search_rs({ + 'me.id' => $contract_id, + }); my $contract_columns = NGCP::Panel::Utils::Datatables::set_columns($c, [ { name => "id", search => 1, title => "#" }, { name => "external_id", search => 1, title => "External #" }, diff --git a/lib/NGCP/Panel/Controller/Reseller.pm b/lib/NGCP/Panel/Controller/Reseller.pm index 42a3300c15..162f572d55 100644 --- a/lib/NGCP/Panel/Controller/Reseller.pm +++ b/lib/NGCP/Panel/Controller/Reseller.pm @@ -308,12 +308,16 @@ sub ajax_contract :Chained('list_reseller') :PathPart('ajax_contract') :Args(0) $_->get_column('contract_id') } else {} } $c->stash->{resellers}->all; - my $free_contracts = $c->model('DB') - ->resultset('contracts') + 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 } - }); + 'me.id' => { 'not in' => \@used_contracts }, + 'product.class' => 'reseller', + },{ + join => { 'billing_mappings' => 'product'}, + } + ); NGCP::Panel::Utils::Datatables::process($c, $free_contracts, $c->stash->{contract_dt_columns}); $c->detach( $c->view("JSON") ); }