common element for cust_pkg search form fields
[freeside.git] / httemplate / misc / cdr.cgi
1 %# <% $cgi->redirect(popurl(2). "search/cdr.html") %>
2 %# i should be a popup and reload my parent... until then, this will do
3 <% include('/elements/header.html','CDR update successful') %> 
4 <% include('/elements/footer.html') %> 
5 <%init> 
6 die "access denied"
7   unless $FS::CurrentUser::CurrentUser->access_right('Edit rating data');
8
9 $cgi->param('action') =~ /^(new|del|(reprocess|delete) selected)$/
10   or die "Illegal action";
11 my $action = $1;
12
13 my $cdr;
14 if ( $action eq 'new' || $action eq 'del' ) {
15   $cgi->param('acctid') =~ /^(\d+)$/ or die "Illegal acctid";
16   my $acctid = $1;
17   $cdr = qsearchs('cdr', { 'acctid' => $1 })
18     or die "unknown acctid $acctid";
19 }
20
21 if ( $action eq 'new' ) {
22   my %hash = $cdr->hash;
23   $hash{'freesidestatus'} = '';
24   my $new = new FS::cdr \%hash;
25   my $error = $new->replace($cdr);
26   die $error if $error;
27 } elsif ( $action eq 'del' ) {
28   my $error = $cdr->delete;
29   die $error if $error;
30 } elsif ( $action =~ /^(reprocess|delete) selected$/ ) {
31   foreach my $acctid (
32     map { /^acctid(\d+)$/; $1; } grep /^acctid\d+$/, $cgi->param
33   ) {
34     my $cdr = qsearchs('cdr', { 'acctid' => $acctid });
35     if ( $action eq 'reprocess selected' && $cdr ) { #new
36       my $error = $cdr->clear_status;
37       die $error if $error;
38     } elsif ( $action eq 'delete selected' && $cdr ) { #del
39       my $error = $cdr->delete;
40       die $error if $error;
41     }
42   }
43 }
44
45 </%init>