This commit was generated by cvs2svn to compensate for changes in r8690,
[freeside.git] / httemplate / edit / svc_domain.cgi
1 <% include('/elements/header.html', "$action $svc", '') %>
2
3 <% include('/elements/error.html') %>
4
5 <FORM ACTION="<% $p1 %>process/svc_domain.cgi" METHOD=POST>
6 <INPUT TYPE="hidden" NAME="svcnum" VALUE="<% $svcnum %>">
7 <INPUT TYPE="hidden" NAME="pkgnum" VALUE="<% $pkgnum %>">
8 <INPUT TYPE="hidden" NAME="svcpart" VALUE="<% $svcpart %>">
9
10 <% ntable("#cccccc",2) %>
11 <TR>
12 <P>Domain <INPUT TYPE="text" NAME="domain" VALUE="<% $domain %>" SIZE=28 MAXLENGTH=63>
13 <BR>
14 % if ($export) {
15 Available top-level domains: <% $export->option('tlds') %>
16 </TR>
17
18 <TR>
19 <INPUT TYPE="radio" NAME="action" VALUE="N"<% $kludge_action eq 'N' ? ' CHECKED' : '' %>>Register at <% $registrar->{'name'} %>
20 <BR>
21
22 <INPUT TYPE="radio" NAME="action" VALUE="M"<% $kludge_action eq 'M' ? ' CHECKED' : '' %>>Transfer to <% $registrar->{'name'} %>
23 <BR>
24
25 <INPUT TYPE="radio" NAME="action" VALUE="I"<% $kludge_action eq 'I' ? ' CHECKED' : '' %>>Registered elsewhere
26
27 </TR>
28
29 % }
30
31 <TR>
32 <P><INPUT TYPE="submit" VALUE="Submit">
33 </TR>
34 </TABLE>
35 </FORM>
36
37 <% include('/elements/footer.html') %>
38
39 <%init>
40
41 die "access denied"
42   unless $FS::CurrentUser::CurrentUser->access_right('Provision customer service'); #something else more specific?
43
44 my($svcnum, $pkgnum, $svcpart, $kludge_action, $part_svc,
45    $svc_domain);
46 if ( $cgi->param('error') ) {
47
48   $svc_domain = new FS::svc_domain ( {
49     map { $_, scalar($cgi->param($_)) } fields('svc_domain')
50   } );
51   $svcnum = $svc_domain->svcnum;
52   $pkgnum = $cgi->param('pkgnum');
53   $svcpart = $cgi->param('svcpart');
54   $kludge_action = $cgi->param('action');
55   $part_svc = qsearchs('part_svc', { 'svcpart' => $svcpart } );
56   die "No part_svc entry!" unless $part_svc;
57
58 } elsif ( $cgi->param('pkgnum') && $cgi->param('svcpart') ) { #adding
59
60   $cgi->param('pkgnum') =~ /^(\d+)$/ or die 'unparsable pkgnum';
61   $pkgnum = $1;
62   $cgi->param('svcpart') =~ /^(\d+)$/ or die 'unparsable svcpart';
63   $svcpart = $1;
64
65   $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart});
66   die "No part_svc entry!" unless $part_svc;
67
68   $svc_domain = new FS::svc_domain({});
69
70   $svcnum='';
71
72   $svc_domain->set_default_and_fixed;
73
74 } else { #editing
75
76   $kludge_action = '';
77   my($query) = $cgi->keywords;
78   $query =~ /^(\d+)$/ or die "unparsable svcnum";
79   $svcnum=$1;
80   $svc_domain=qsearchs('svc_domain',{'svcnum'=>$svcnum})
81     or die "Unknown (svc_domain) svcnum!";
82
83   my($cust_svc)=qsearchs('cust_svc',{'svcnum'=>$svcnum})
84     or die "Unknown (cust_svc) svcnum!";
85
86   $pkgnum=$cust_svc->pkgnum;
87   $svcpart=$cust_svc->svcpart;
88
89   $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart});
90   die "No part_svc entry!" unless $part_svc;
91
92 }
93 my $action = $svcnum ? 'Edit' : 'Add';
94
95 my $svc = $part_svc->getfield('svc');
96
97 my @exports = $part_svc->part_export();
98
99 my $registrar;
100 my $export;
101
102 # Find the first export that does domain registration
103 foreach (@exports) {
104         $export = $_ if $_->can('registrar');
105 }
106 # If we have a domain registration export, get the registrar object
107 if ($export) {
108         $registrar = $export->registrar;
109 }
110
111 my $otaker = getotaker;
112
113 my $domain = $svc_domain->domain;
114
115 my $p1 = popurl(1);
116
117 </%init>