blob: ba9881dc49ec203adca1686e06f7152125fe6696 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
% 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;
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;
}
}
</%init>
|