From 6a10d16ff4e806357abab206254aa38c80a749d3 Mon Sep 17 00:00:00 2001 From: mark Date: Fri, 11 Feb 2011 23:59:29 +0000 Subject: rate selection by CDR type, RT#10991 --- httemplate/edit/process/cdr_type.cgi | 42 ++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 httemplate/edit/process/cdr_type.cgi (limited to 'httemplate/edit/process') diff --git a/httemplate/edit/process/cdr_type.cgi b/httemplate/edit/process/cdr_type.cgi new file mode 100644 index 000000000..b661de75d --- /dev/null +++ b/httemplate/edit/process/cdr_type.cgi @@ -0,0 +1,42 @@ +% if ( $error ) { +% $cgi->param('error', $error); +<% $cgi->redirect(popurl(2). "cdr_type.cgi?". $cgi->query_string ) %> +% } else { +<% $cgi->redirect(popurl(2). "cdr_type.cgi" ) %> +% } +<%init> +my $error = ''; +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Configuration'); + +my %vars = $cgi->Vars; +warn Dumper(\%vars)."\n"; + +my %old = map { $_->cdrtypenum => $_ } qsearch('cdr_type', {}); + +my @new; +foreach ( keys(%vars) ) { + my ($i) = /^cdrtypenum(\d+)$/ or next; + my $cdrtypenum = $vars{"cdrtypenum$i"} or next; + my $cdrtypename = $vars{"cdrtypename$i"} or next; + # don't delete unchanged records + if ( $old{$i} and $old{$i}->cdrtypename eq $cdrtypename ) { + delete $old{$i}; + next; + } + push @new, FS::cdr_type->new({ + 'cdrtypenum' => $cdrtypenum, + 'cdrtypename' => $cdrtypename, + }); +} +foreach (values(%old)) { + $error = $_->delete; + last if $error; +} +if(!$error) { + foreach (@new) { + $error = $_->insert; + last if $error; + } +} + -- cgit v1.2.1