diff options
author | Jonathan Prykop <jonathan@freeside.biz> | 2016-01-28 15:42:43 -0600 |
---|---|---|
committer | Jonathan Prykop <jonathan@freeside.biz> | 2016-01-28 19:26:52 -0600 |
commit | 488d3c15c9aaea2a17826600ee332f0af9b0634d (patch) | |
tree | 84b4abdcc71041ee57ba3f7ca4c9d6285ade7170 | |
parent | e96bcf25f1d6eb21bb78b9c43bd00049840d9639 (diff) |
RT#39638: VoIP Usage cost reporting [bug fixes/cleanup]
-rw-r--r-- | FS/FS/cdr.pm | 9 | ||||
-rw-r--r-- | httemplate/elements/menu.html | 4 | ||||
-rw-r--r-- | httemplate/search/customer_cdr_profit.html (renamed from httemplate/search/customer_usage_profit.html) | 7 | ||||
-rwxr-xr-x | httemplate/search/report_customer_cdr_profit.html (renamed from httemplate/search/report_customer_usage_profit.html) | 7 |
4 files changed, 14 insertions, 13 deletions
diff --git a/FS/FS/cdr.pm b/FS/FS/cdr.pm index f8fea35d7..5a1d8ea23 100644 --- a/FS/FS/cdr.pm +++ b/FS/FS/cdr.pm @@ -464,9 +464,9 @@ Sets the status and rated price. Available options are: inbound, rated_pretty_dst, rated_regionname, rated_seconds, rated_minutes, rated_granularity, rated_ratedetailnum, -rated_classnum, rated_ratename, and set_rate_cost (if true, will set -a recalculated L</rate_cost> in the rated_cost field after the other -fields are set; does not work with inbound.) +rated_classnum, rated_ratename. If rated_ratedetailnum is provided, +will also set a recalculated L</rate_cost> in the rated_cost field +after the other fields are set (does not work with inbound.) If there is an error, returns the error, otherwise returns false. @@ -504,7 +504,7 @@ sub set_status_and_rated_price { qw( pretty_dst regionname seconds minutes granularity ratedetailnum classnum ratename ); $self->svcnum($svcnum) if $svcnum; - $self->rated_cost($self->rate_cost) if $opt{'set_rate_cost'}; + $self->rated_cost($self->rate_cost) if $opt{'rated_ratedetailnum'}; return $self->replace(); @@ -1005,7 +1005,6 @@ sub rate_prefix { 'rated_ratedetailnum' => $rate_detail->ratedetailnum, 'rated_classnum' => $rate_detail->classnum, #rated_ratedetailnum? 'rated_ratename' => $ratename, #not rate_detail - Intrastate/Interstate - 'set_rate_cost' => 1, ); } diff --git a/httemplate/elements/menu.html b/httemplate/elements/menu.html index 1d5789d04..13478e979 100644 --- a/httemplate/elements/menu.html +++ b/httemplate/elements/menu.html @@ -290,6 +290,8 @@ $report_rating{'Call Detail Records (CDRs)'} = [ $fsurl.'search/report_cdr.html' if $curuser->access_right("Usage: Call Detail Records (CDRs)"); $report_rating{'Unrateable CDRs'} = [ $fsurl.'search/cdr.html?freesidestatus=failed;cdrbatchnum=_ALL_' ] if $curuser->access_right("Usage: Unrateable CDRs"); +$report_rating{'Customer CDRs Profit/Loss'} = [ $fsurl.'search/report_customer_cdr_profit.html', 'Profit/loss from customer CDRs' ] + if $curuser->access_right('Financial reports'); if ( $curuser->access_right("Usage: Time worked") ) { $report_rating{'Time worked'} = [ $fsurl.'search/report_rt_transaction.html', '' ]; $report_rating{'Time worked summary per ticket'} = [ $fsurl.'search/report_rt_ticket.html', '' ]; @@ -398,8 +400,6 @@ if( $curuser->access_right('Financial reports') ) { $report_financial{'Customer Accounting Summary'} = [ $fsurl.'search/report_customer_accounting_summary.html', 'Customer accounting summary report' ]; - $report_financial{'Customer Usage Profit/Loss'} = [ $fsurl.'search/report_customer_usage_profit.html', 'Customer usage profit/loss' ]; - } elsif($curuser->access_right('Receivables report')) { $report_financial{'A/R Aging'} = [ $fsurl.'search/report_receivables.html', 'Accounts Receivable Aging report' ]; diff --git a/httemplate/search/customer_usage_profit.html b/httemplate/search/customer_cdr_profit.html index 9fcc92259..8dc06636a 100644 --- a/httemplate/search/customer_usage_profit.html +++ b/httemplate/search/customer_cdr_profit.html @@ -67,7 +67,7 @@ #warn "writing ".xl_rowcol_to_cell($r, $c)."\n"; $worksheet->write( $r, $c, $cell->{value}, $format{$f} ); } - $c++; + $c += $cell->{colspan} || 1; } #$cell $r++; } #$row @@ -119,7 +119,8 @@ as <A HREF="<% "$myself;_type=xls" %>">Excel spreadsheet</A> <%init> die "access denied" - unless $FS::CurrentUser::CurrentUser->access_right('Financial reports'); + unless $FS::CurrentUser::CurrentUser->access_right('Financial reports') + && $FS::CurrentUser::CurrentUser->access_right('List rating data'); my ($agentnum,$sel_agent); if ( $cgi->param('agentnum') =~ /^(\d+)$/ ) { @@ -129,7 +130,7 @@ if ( $cgi->param('agentnum') =~ /^(\d+)$/ ) { } my $title = $sel_agent ? $sel_agent->agent.' ' : ''; -$title .= 'Customer Usage Profit/Loss Report'; +$title .= 'Customer CDRs Profit/Loss Report'; my @items = ('cust_bill_pkg_recur', 'cust_bill_pkg_recur', 'cust_bill_pkg_detail', 'cust_bill_pkg_detail' ); my @params = ( [], [ 'cost' => 1 ], [], [ 'cost' => 1 ] ); diff --git a/httemplate/search/report_customer_usage_profit.html b/httemplate/search/report_customer_cdr_profit.html index f16489b99..2a5efc3eb 100755 --- a/httemplate/search/report_customer_usage_profit.html +++ b/httemplate/search/report_customer_cdr_profit.html @@ -1,6 +1,6 @@ -<% include('/elements/header.html', 'Customer Usage Profit/Loss Report' ) %> +<% include('/elements/header.html', 'Customer CDRs Profit/Loss Report' ) %> -<FORM ACTION="customer_usage_profit.html" METHOD="GET"> +<FORM ACTION="customer_cdr_profit.html" METHOD="GET"> <TABLE BGCOLOR="#cccccc" CELLSPACING=0> @@ -24,6 +24,7 @@ <%init> die "access denied" - unless $FS::CurrentUser::CurrentUser->access_right('Financial reports'); + unless $FS::CurrentUser::CurrentUser->access_right('Financial reports') + && $FS::CurrentUser::CurrentUser->access_right('List rating data'); </%init> |