ea97918e8360543bd274f34d710d5daa288db6f9
[freeside.git] / httemplate / edit / process / svc_domain.cgi
1 %if ($error) {
2 %  $cgi->param('error', $error);
3 <% $cgi->redirect(popurl(2). "svc_domain.cgi?". $cgi->query_string ) %>
4 %} else {
5 <% $cgi->redirect(popurl(3). "view/svc_domain.cgi?$svcnum") %>
6 %}
7 <%init>
8
9 die "access denied"
10   unless $FS::CurrentUser::CurrentUser->access_right('Provision customer service'); #something else more specific?
11
12 #remove this to actually test the domains!
13 $FS::svc_domain::whois_hack = 1;
14
15 $cgi->param('svcnum') =~ /^(\d*)$/ or die "Illegal svcnum!";
16 my $svcnum = $1;
17
18 #unmunge cgp_accessmodes (falze laziness-ish w/part_svc.pm::process & svc_acct)
19 unless ( $cgi->param('cgp_accessmodes') ) {
20   $cgi->param('cgp_accessmodes', 
21     join(' ',
22       sort map { /^cgp_accessmodes_([\w\/]+)$/ or die "no way"; $1; }
23                grep $cgi->param($_),
24                     grep /^cgp_accessmodes_([\w\/]+)$/,
25                          $cgi->param()
26         )
27   );
28 }
29
30 my $new = new FS::svc_domain ( {
31   map {
32     $_, scalar($cgi->param($_));
33   #} qw(svcnum pkgnum svcpart domain action)
34   } ( fields('svc_domain'), qw( pkgnum svcpart action ) )
35 } );
36
37 my $error = '';
38 if ($cgi->param('svcnum')) {
39   $error  = $new->replace();
40 } else {
41   $error  = $new->insert;
42   $svcnum = $new->svcnum;
43 }
44
45 </%init>