This commit was generated by cvs2svn to compensate for changes in r11022,
[freeside.git] / httemplate / edit / process / cdr_type.cgi
1 % if ( $error ) {
2 %   $cgi->param('error', $error);
3 <% $cgi->redirect(popurl(2). "cdr_type.cgi?". $cgi->query_string ) %>
4 % } else {
5 <% $cgi->redirect(popurl(2). "cdr_type.cgi" ) %>
6 % }
7 <%init>
8 my $error = '';
9 die "access denied" 
10     unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
11
12 my %vars = $cgi->Vars;
13 warn Dumper(\%vars)."\n";
14
15 my %old = map { $_->cdrtypenum => $_ } qsearch('cdr_type', {});
16
17 my @new;
18 foreach ( keys(%vars) ) {
19   my ($i) = /^cdrtypenum(\d+)$/ or next;
20   my $cdrtypenum = $vars{"cdrtypenum$i"} or next;
21   my $cdrtypename = $vars{"cdrtypename$i"} or next;
22   # don't delete unchanged records
23   if ( $old{$i} and $old{$i}->cdrtypename eq $cdrtypename ) {
24     delete $old{$i};
25     next;
26   }
27   push @new, FS::cdr_type->new({ 
28     'cdrtypenum'  => $cdrtypenum,
29     'cdrtypename' => $cdrtypename,
30   });
31 }
32 foreach (values(%old)) {
33   $error = $_->delete;
34   last if $error;
35 }
36 if(!$error) {
37   foreach (@new) {
38     $error = $_->insert;
39     last if $error;
40   }
41 }
42 </%init>