This commit was generated by cvs2svn to compensate for changes in r6252,
[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 <INPUT TYPE="radio" NAME="action" VALUE="N"<% $kludge_action eq 'N' ? ' CHECKED' : '' %>>New
11 <BR>
12
13 <INPUT TYPE="radio" NAME="action" VALUE="M"<% $kludge_action eq 'M' ? ' CHECKED' : '' %>>Transfer
14
15 <P>Domain <INPUT TYPE="text" NAME="domain" VALUE="<% $domain %>" SIZE=28 MAXLENGTH=63>
16
17 <BR>Purpose/Description: <INPUT TYPE="text" NAME="purpose" VALUE="<% $purpose %>" SIZE=64>
18
19 <P><INPUT TYPE="submit" VALUE="Submit">
20
21 </FORM>
22
23 <% include('/elements/footer.html') %>
24
25 <%init>
26
27 die "access denied"
28   unless $FS::CurrentUser::CurrentUser->access_right('Provision customer service'); #something else more specific?
29
30 my($svcnum, $pkgnum, $svcpart, $kludge_action, $purpose, $part_svc,
31    $svc_domain);
32 if ( $cgi->param('error') ) {
33
34   $svc_domain = new FS::svc_domain ( {
35     map { $_, scalar($cgi->param($_)) } fields('svc_domain')
36   } );
37   $svcnum = $svc_domain->svcnum;
38   $pkgnum = $cgi->param('pkgnum');
39   $svcpart = $cgi->param('svcpart');
40   $kludge_action = $cgi->param('action');
41   $purpose = $cgi->param('purpose');
42   $part_svc = qsearchs('part_svc', { 'svcpart' => $svcpart } );
43   die "No part_svc entry!" unless $part_svc;
44
45 } elsif ( $cgi->param('pkgnum') && $cgi->param('svcpart') ) { #adding
46
47   $cgi->param('pkgnum') =~ /^(\d+)$/ or die 'unparsable pkgnum';
48   $pkgnum = $1;
49   $cgi->param('svcpart') =~ /^(\d+)$/ or die 'unparsable svcpart';
50   $svcpart = $1;
51
52   $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart});
53   die "No part_svc entry!" unless $part_svc;
54
55   $svc_domain = new FS::svc_domain({});
56
57   $svcnum='';
58
59   $svc_domain->set_default_and_fixed;
60
61 } else { #editing
62
63   $kludge_action = '';
64   $purpose = '';
65   my($query) = $cgi->keywords;
66   $query =~ /^(\d+)$/ or die "unparsable svcnum";
67   $svcnum=$1;
68   $svc_domain=qsearchs('svc_domain',{'svcnum'=>$svcnum})
69     or die "Unknown (svc_domain) svcnum!";
70
71   my($cust_svc)=qsearchs('cust_svc',{'svcnum'=>$svcnum})
72     or die "Unknown (cust_svc) svcnum!";
73
74   $pkgnum=$cust_svc->pkgnum;
75   $svcpart=$cust_svc->svcpart;
76
77   $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart});
78   die "No part_svc entry!" unless $part_svc;
79
80 }
81 my $action = $svcnum ? 'Edit' : 'Add';
82
83 my $svc = $part_svc->getfield('svc');
84
85 my $otaker = getotaker;
86
87 my $domain = $svc_domain->domain;
88
89 my $p1 = popurl(1);
90
91 </%init>