MT#6443 Calculate dashboard costs correctly

agranig/selfsignup
Gerhard Jungwirth 11 years ago
parent 32f704451a
commit 51b508fd60

@ -30,29 +30,35 @@ around handle => sub {
peering_sum => $c->model('DB')->resultset('contract_balances')->search_rs({
'start' => { '>=' => $stime },
'end' => { '<' => $etime},
'product.class' => 'sippeering',
}, {
join => {
'contract' => { 'billing_mappings' => 'product' },
},
-exists => $c->model('DB')->resultset('billing_mappings')->search({
contract_id => \'= me.contract_id',
'product.class' => 'sippeering',
},{
alias => 'myinner',
join => 'product',
})->as_query,
})->get_column('cash_balance_interval')->sum,
reseller_sum => $c->model('DB')->resultset('contract_balances')->search_rs({
'start' => { '>=' => $stime },
'end' => { '<' => $etime},
'product.class' => 'reseller',
}, {
join => {
'contract' => { 'billing_mappings' => 'product' },
},
-exists => $c->model('DB')->resultset('billing_mappings')->search({
contract_id => \'= me.contract_id',
'product.class' => 'reseller',
},{
alias => 'myinner',
join => 'product',
})->as_query,
})->get_column('cash_balance_interval')->sum,
customer_sum => $c->model('DB')->resultset('contract_balances')->search_rs({
'start' => { '>=' => $stime },
'end' => { '<' => $etime},
'billing_mappings.product_id' => undef,
}, {
join => {
'contract' => 'billing_mappings',
},
-exists => $c->model('DB')->resultset('billing_mappings')->search({
contract_id => \'= me.contract_id',
'product.class' => 'sipaccount',
},{
alias => 'myinner',
join => 'product',
})->as_query,
})->get_column('cash_balance_interval')->sum,
);
return;

Loading…
Cancel
Save