X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fedit%2Fsvc_domain.cgi;h=9b54422d36aeb3521de62957462b39258628abef;hp=ca0e3398fbdab1549c6cbb91c267ee21e7c9b799;hb=3f2a7b01b59902faed5767d81e2959e131bdbdfd;hpb=eb9668a6f3181ee02cb335272c5ee4616e61fd09 diff --git a/httemplate/edit/svc_domain.cgi b/httemplate/edit/svc_domain.cgi index ca0e3398f..9b54422d3 100755 --- a/httemplate/edit/svc_domain.cgi +++ b/httemplate/edit/svc_domain.cgi @@ -1,9 +1,106 @@ - -<% +<% include('/elements/header.html', "$action $svc", '') %> + +<% include('/elements/error.html') %> + +
+ + + + +<% ntable("#cccccc",2) %> + + + Domain + +% if ( !$svcnum || $conf->exists('svc_domain-edit_domain') ) { + +% } else { + <% $domain %> + +% } + +% if ($export) { +
+Available top-level domains: <% $export->option('tlds') %> + + + +>Register at <% $registrar->{'name'} %> +
+ +>Transfer to <% $registrar->{'name'} %> +
+ +>Registered elsewhere + + + +% if($export->option('auoptions')) { +% # XXX: this whole thing should be done like svc_Common with label_fixup, etc. eventually + <% include('/elements/tr-select.html', + 'field' => 'au_eligibiilty_type', + 'label' => 'AU Eligibility Type', + 'value' => $svc_domain->au_eligibility_type, + 'options' => $svc_domain->au_eligibility_type_values, + ) + %> + <% include('/elements/tr-input-text.html', + 'field' => 'au_registrant_name', + 'label' => 'AU Registrant Name', + 'value' => $svc_domain->au_registrant_name, + ) + %> +% } + +% } + + + +% if ( $part_svc->part_svc_column('quota')->columnflag =~ /^[FA]$/ ) { + +% } else { + + Quota + + + + +% } + +<% include('svc_domain/communigate-basics.html', + 'svc_domain' => $svc_domain, + 'part_svc' => $part_svc, + 'communigate' => $communigate, + ) +%> + + +
+ +<% include('svc_domain/communigate-acct_defaults.html', + 'svc_domain' => $svc_domain, + 'part_svc' => $part_svc, + 'communigate' => $communigate, + ) +%> + + + +
-my($svcnum, $pkgnum, $svcpart, $kludge_action, $purpose, $part_svc, +<% include('/elements/footer.html') %> + +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Provision customer service'); #something else more specific? + +my $conf = new FS::Conf; + +my($svcnum, $pkgnum, $svcpart, $kludge_action, $part_svc, $svc_domain); if ( $cgi->param('error') ) { + $svc_domain = new FS::svc_domain ( { map { $_, scalar($cgi->param($_)) } fields('svc_domain') } ); @@ -11,88 +108,59 @@ if ( $cgi->param('error') ) { $pkgnum = $cgi->param('pkgnum'); $svcpart = $cgi->param('svcpart'); $kludge_action = $cgi->param('action'); - $purpose = $cgi->param('purpose'); $part_svc = qsearchs('part_svc', { 'svcpart' => $svcpart } ); die "No part_svc entry!" unless $part_svc; -} else { - $kludge_action = ''; - $purpose = ''; - my($query) = $cgi->keywords; - if ( $query =~ /^(\d+)$/ ) { #editing - $svcnum=$1; - $svc_domain=qsearchs('svc_domain',{'svcnum'=>$svcnum}) - or die "Unknown (svc_domain) svcnum!"; - my($cust_svc)=qsearchs('cust_svc',{'svcnum'=>$svcnum}) - or die "Unknown (cust_svc) svcnum!"; +} elsif ( $cgi->param('pkgnum') && $cgi->param('svcpart') ) { #adding + + $cgi->param('pkgnum') =~ /^(\d+)$/ or die 'unparsable pkgnum'; + $pkgnum = $1; + $cgi->param('svcpart') =~ /^(\d+)$/ or die 'unparsable svcpart'; + $svcpart = $1; - $pkgnum=$cust_svc->pkgnum; - $svcpart=$cust_svc->svcpart; + $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart}); + die "No part_svc entry!" unless $part_svc; - $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart}); - die "No part_svc entry!" unless $part_svc; + $svc_domain = new FS::svc_domain({}); - } else { #adding + $svcnum=''; - $svc_domain = new FS::svc_domain({}); - - foreach $_ (split(/-/,$query)) { - $pkgnum=$1 if /^pkgnum(\d+)$/; - $svcpart=$1 if /^svcpart(\d+)$/; - } - $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart}); - die "No part_svc entry!" unless $part_svc; + $svc_domain->set_default_and_fixed; - $svcnum=''; +} else { #editing - #set fixed and default fields from part_svc - foreach my $part_svc_column ( - grep { $_->columnflag } $part_svc->all_part_svc_column - ) { - $svc_domain->setfield( $part_svc_column->columnname, - $part_svc_column->columnvalue, - ); - } + $kludge_action = ''; + my($query) = $cgi->keywords; + $query =~ /^(\d+)$/ or die "unparsable svcnum"; + $svcnum=$1; + $svc_domain=qsearchs('svc_domain',{'svcnum'=>$svcnum}) + or die "Unknown (svc_domain) svcnum!"; - } + my($cust_svc)=qsearchs('cust_svc',{'svcnum'=>$svcnum}) + or die "Unknown (cust_svc) svcnum!"; + + $pkgnum=$cust_svc->pkgnum; + $svcpart=$cust_svc->svcpart; + + $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart}); + die "No part_svc entry!" unless $part_svc; } my $action = $svcnum ? 'Edit' : 'Add'; my $svc = $part_svc->getfield('svc'); -my $otaker = getotaker; +my $communigate = scalar($part_svc->part_export('communigate_pro')); + # || scalar($part_svc->part_export('communigate_pro_singledomain')); + +# Find the first export that does domain registration +my @exports = grep $_->can('registrar'), $part_svc->part_export; +my $export = $exports[0]; +# If we have a domain registration export, get the registrar object +my $registrar = $export ? $export->registrar : ''; my $domain = $svc_domain->domain; my $p1 = popurl(1); -print header("$action $svc", ''); - -print qq!Error: !, $cgi->param('error'), - "" - if $cgi->param('error'); - -print < - - - -END - -print qq!New!; -print qq!
Transfer!; - -print <Domain -
Purpose/Description: -

- - - -END -%> +