From: ivan Date: Tue, 11 May 2004 11:52:02 +0000 (+0000) Subject: clean this up a bit, fix svc_www-usersvc_svcpart and hopefully simplified zone select too X-Git-Tag: BEFORE_FINAL_MASONIZE~1096 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=af37880d5ac36f2b141b2eeeb1c7aa49a50d0c5b clean this up a bit, fix svc_www-usersvc_svcpart and hopefully simplified zone select too --- diff --git a/httemplate/edit/svc_www.cgi b/httemplate/edit/svc_www.cgi index b89672a52..ed8d42501 100644 --- a/httemplate/edit/svc_www.cgi +++ b/httemplate/edit/svc_www.cgi @@ -63,7 +63,8 @@ if ($pkgnum) { map { $_->svcpart } qsearch( 'part_svc', { 'svcdb' => 'svc_acct' } ) ) { next if $conf->exists('svc_www-usersvc_svcpart') - && grep { $svcpart == $_ } $conf->config('svc_www-usersvc_svcpart'); + && ! grep { $svcpart == $_ } + $conf->config('svc_www-usersvc_svcpart'); push @u_acct_svcparts, $svcpart; } @@ -91,31 +92,61 @@ if ($pkgnum) { push @d_acct_svcparts,$d_part_svc->getfield('svcpart'); } - foreach $i_cust_pkg ( qsearch('cust_pkg',{'custnum'=>$custnum}) ) { - my($cust_pkgnum)=$i_cust_pkg->getfield('pkgnum'); - my($acct_svcpart); - foreach $acct_svcpart (@d_acct_svcparts) { - my($i_cust_svc); - foreach $i_cust_svc ( qsearch('cust_svc',{'pkgnum'=>$cust_pkgnum,'svcpart'=>$acct_svcpart}) ) { - my($svc_domain)=qsearchs('svc_domain',{'svcnum'=>$i_cust_svc->getfield('svcnum')}); + foreach $i_cust_pkg ( qsearch( 'cust_pkg', { 'custnum' => $custnum } ) ) { + my $cust_pkgnum = $i_cust_pkg->pkgnum; + + foreach my $acct_svcpart (@d_acct_svcparts) { + + foreach my $i_cust_svc ( + qsearch( 'cust_svc', { 'pkgnum' => $cust_pkgnum, + 'svcpart' => $acct_svcpart } ) + ) { + my $svc_domain = + qsearchs( 'svc_domain', { 'svcnum' => $i_cust_svc->svcnum } ); + + my $extra_sql = "AND ( rectype = 'A' OR rectype = 'CNAME' )"; + if ( $conf->exists('svc_www-enable_subdomains') ) { + my $domain = $ + $extra_sql .= " AND ( reczone = '@' OR reczone = '". + $svc_domain->domain. ".' )"; + } + + foreach my $domain_rec ( + qsearch( 'domain_record', + { + 'svcnum' => $svc_domain->svcnum, + }, + '', + $extra_sql, + ) + ) { + $arec{$domain_rec->recnum} = $domain_rec->zone; + } + if ( $conf->exists('svc_www-enable_subdomains') ) { - foreach my $domain_rec ( qsearch('domain_record',{ - 'svcnum' => $svc_domain->svcnum, - 'rectype' => 'A' } ), - qsearch('domain_record',{ - 'svcnum' => $svc_domain->svcnum, - 'rectype' => 'CNAME' - } ) ) { - $arec{$domain_rec->recnum} = $domain_rec->zone; - } $arec{'www.'. $svc_domain->domain} = 'www.'. $svc_domain->domain - unless qsearchs('domain_record', { svcnum => $svc_domain->svcnum, - reczone => 'www', } ); + unless qsearchs( 'domain_record', { + svcnum => $svc_domain->svcnum, + reczone => 'www', + } ) + || qsearchs( 'domain_record', { + svcnum => $svc_domain->svcnum, + reczone => 'www.'.$svc-domain->domain.'.', + } ); } + $arec{'@.'. $svc_domain->domain} = $svc_domain->domain - unless qsearchs('domain_record', { svcnum => $svc_domain->svcnum, - reczone => '@', } ); + unless qsearchs('domain_record', { + svcnum => $svc_domain->svcnum, + reczone => '@', + } ) + || qsearchs('domain_record', { + svcnum => $svc_domain->svcnum, + reczone => $svc_domain->domain.'.', + } ); + } + } }