diff options
author | ivan <ivan> | 2009-02-10 10:35:13 +0000 |
---|---|---|
committer | ivan <ivan> | 2009-02-10 10:35:13 +0000 |
commit | ab85518b116ffe93751adbd05ae1412b8a8b2a2e (patch) | |
tree | 9c09a9399206d41225a6b76f32a3779544af9f1e /httemplate/misc/cdr.cgi | |
parent | 380a9fc2da2a9b2bad99485a5d7048dc1ac64ca8 (diff) |
quick n' dirty CDR deletion from web interface, RT#4766 / RT#4731
Diffstat (limited to 'httemplate/misc/cdr.cgi')
-rw-r--r-- | httemplate/misc/cdr.cgi | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/httemplate/misc/cdr.cgi b/httemplate/misc/cdr.cgi new file mode 100644 index 000000000..d2ee77364 --- /dev/null +++ b/httemplate/misc/cdr.cgi @@ -0,0 +1,48 @@ +%# <% $cgi->redirect(popurl(2). "search/cdr.html") %> +%# i should be a popup and reload my parent... until then, this will do +<% include('/elements/header.html','CDR update successful') %> +<% include('/elements/footer.html') %> +<%init> +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Edit rating data'); + +$cgi->param('action') =~ /^(new|del|(reprocess|delete) selected)$/ + or die "Illegal action"; +my $action = $1; + +my $cdr; +if ( $action eq 'new' || $action eq 'del' ) { + $cgi->param('acctid') =~ /^(\d+)$/ or die "Illegal acctid"; + my $acctid = $1; + $cdr = qsearchs('cdr', { 'acctid' => $1 }) + or die "unknown acctid $acctid"; +} + +if ( $action eq 'new' ) { + my %hash = $cdr->hash; + $hash{'freesidestatus'} = ''; + my $new = new FS::cdr \%hash; + my $error = $new->replace($cdr); + die $error if $error; +} elsif ( $action eq 'del' ) { + my $error = $cdr->delete; + die $error if $error; +} elsif ( $action =~ /^(reprocess|delete) selected$/ ) { + foreach my $acctid ( + map { /^acctid(\d+)$/; $1; } grep /^acctid\d+$/, $cgi->param + ) { + my $cdr = qsearchs('cdr', { 'acctid' => $acctid }); + if ( $action eq 'reprocess selected' && $cdr ) { #new + my %hash = $cdr->hash; + $hash{'freesidestatus'} = ''; + my $new = new FS::cdr \%hash; + my $error = $new->replace($cdr); + die $error if $error; + } elsif ( $action eq 'delete selected' && $cdr ) { #del + my $error = $cdr->delete; + die $error if $error; + } + } +} + +</%init> |