diff options
Diffstat (limited to 'httemplate/search/report_cdr.html')
-rw-r--r-- | httemplate/search/report_cdr.html | 230 |
1 files changed, 0 insertions, 230 deletions
diff --git a/httemplate/search/report_cdr.html b/httemplate/search/report_cdr.html deleted file mode 100644 index 866606cc1..000000000 --- a/httemplate/search/report_cdr.html +++ /dev/null @@ -1,230 +0,0 @@ -<% include('/elements/header.html', 'Call Detail Record Search' ) %> - -<FORM ACTION="cdr.html" METHOD="GET"> - -<TABLE BGCOLOR="#cccccc" CELLSPACING=0> - - <TR> - <TH CLASS="background" COLSPAN=2 ALIGN="left"> - <FONT SIZE="+1">Search options</FONT> - </TH> - </TR> - - <TR> - <TD ALIGN="right">Status: </TD> - <TD> - <SELECT NAME="freesidestatus"> - <OPTION VALUE="">(all) - <OPTION VALUE="NULL">unprocessed - <OPTION VALUE="done">processed - </SELECT> - </TD> - </TR> - -% #if ( ) { # disable for everyone not using termination billing... -% foreach my $termpart ( 1..1 ) { #qsearch('part_termination - - <TR> - <TD ALIGN="right">Termination Status: </TD> - <TD> - <SELECT NAME="termpart<%$termpart%>status"> - <OPTION VALUE="">(all) - <OPTION VALUE="NULL">unprocessed - <OPTION VALUE="done">processed - </SELECT> - </TD> - </TR> - -% } -% #} - - <% include ( '/elements/tr-input-beginning_ending.html' ) %> - - <TR> - <TD ALIGN="right">Source #: </TD> - <TD> - <INPUT TYPE="text" NAME="src"> - </TD> - </TR> - - <TR> - <TD ALIGN="right">Destination #: </TD> - <TD> - <INPUT TYPE="text" NAME="dst"> - </TD> - </TR> - - <TR> - <TD ALIGN="right">Destination Context: </TD> - <TD> - <INPUT TYPE="text" NAME="dcontext"> - </TD> - </TR> - - - <TR> - <TD ALIGN="right">Charged Party #: </TD> - <TD> - <INPUT TYPE="text" NAME="charged_party" VALUE="<% join(',', @charged_party) |h %>"> - </TD> - </TR> - - <TR> - <TD ALIGN="right">Charged Party or Source #: </TD> - <TD> - <INPUT TYPE="text" NAME="charged_party_or_src" VALUE="<% join(',', @charged_party_or_src ) |h %>" > - </TD> - </TR> - - <TR> - <TD ALIGN="right">Freeside service #: </TD> - <TD> - <INPUT TYPE="text" NAME="svcnum" VALUE="<% join(',', @svcnum ) %>" > - </TD> - </TR> - - <% include( '/elements/tr-input-lessthan_greaterthan.html', - 'label' => 'Duration (sec)', - 'field' => 'duration', - ) - %> - - <% include( '/elements/tr-input-lessthan_greaterthan.html', - 'label' => 'Billable duration (sec)', - 'field' => 'billsec', - ) - %> - - <% include( '/elements/tr-select-cdrbatch.html' ) %> - - <TR> - <TD ALIGN="right">Acct ID (one per-line):</TD> - <TD><TEXTAREA NAME="acctid"></TEXTAREA></TD> - </TR> - - <TR> - <TH CLASS="background" COLSPAN=2> </TH> - </TR> - - <TR> - <TH CLASS="background" COLSPAN=2 ALIGN="left"><FONT SIZE="+1">Display options</FONT></TH> - </TR> - - <INPUT TYPE="hidden" NAME="show" VALUE="1"> - - <TR> - <TD COLSPAN=2> - <% include('/elements/checkboxes.html', - 'names_list' => $names_list, - 'element_name_prefix' => 'show_', - 'checked_callback' => sub { $show_default{$_[1]} }, - # my($cgi, $name) = @_; - ) - %> - </TD> - </TR> - -</TABLE> - -<BR> -<INPUT TYPE="submit" VALUE="Search Call Detail Records"> - -</FORM> - -<% include('/elements/footer.html') %> -<%init> - -die "access denied" - unless $FS::CurrentUser::CurrentUser->access_right('List rating data'); - -my @fields = fields('cdr'); -my $labels = FS::cdr->table_info->{'fields'}; - -#XXX config -my @show_default = qw( - calldate clid src dst dcontext charged_party - startdate answerdate enddate duration billsec - disposition amaflags accountcode userfield - rated_price upstream_price carrierid - svcnum freesidestatus freesiderewritestatus -); -my %show_default = map { $_=>1 } @show_default; - -my $names_list = [ map { - [ $_ => { - 'label' => 'Show '. ( $labels->{$_} || $_ ) - } - ] - } - @fields - ]; - -my @charged_party = (); -my @charged_party_or_src = (); -my @svcnum = (); -if ( $cgi->param('custnum') =~ /^(\d+)$/ ) { - my $custnum = $1; - - my $cust_main = qsearchs( { - 'table' => 'cust_main', - 'hashref' => { 'custnum' => $custnum }, - 'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql, - }); - die "Customer not found!" unless $cust_main; - - #historical? - foreach my $cust_pkg ( $cust_main->ncancelled_pkgs ) { - - my @voip_pkgs = - grep { $_->plan eq 'voip_cdr' } $cust_pkg->part_pkg->self_and_bill_linked; - if ( scalar(@voip_pkgs) > 1 ) { - die "multiple voip_cdr packages bundled\n"; - } elsif ( !@voip_pkgs ) { - next; - } - my $voip_pkg = @voip_pkgs[0]; - - my $cdr_svc_method = $voip_pkg->option('cdr_svc_method') - || 'svc_phone.phonenum'; - - my @cust_svc = $cust_pkg->cust_svc; #historical? - - if ( $cdr_svc_method eq 'svc_phone.phonenum' ) { - - my @svc_phone = map $_->svc_x, - grep { $_->part_svc->svcdb eq 'svc_phone' } @cust_svc; - - my @numbers = map { - my $number = $_->phonenum; - $number = $_->countrycode. $number - unless $_->countrycode eq '1'; - $number; - } - @svc_phone; - - if ( $voip_pkg->option('disable_src') ) { - push @charged_party, @numbers; - } else { - push @charged_party_or_src, @numbers; - } - - } elsif ( $cdr_svc_method eq 'svc_pbx.title' ) { - my @svc_pbx = map $_->svc_x, - grep { $_->part_svc->svcdb eq 'svc_pbx' } @cust_svc; - push @charged_party, map $_->title, @svc_pbx; - } elsif ( $cdr_svc_method eq 'svc_pbx.svcnum' ) { - my @cust_svc_pbx = grep { $_->part_svc->svcdb eq 'svc_pbx' } @cust_svc; - push @svcnum, map $_->svcnum, @cust_svc_pbx; - } - - } - - die "No CDR packages for customer $custnum\n" - unless @charged_party || @charged_party_or_src || @svcnum; - - #die "Multiple matching metods for customer $custnum\n" - # if #there's more than one - -} - -</%init> |