From 7d66bf30114486f1463b2899399364e780147b49 Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 21 Aug 2001 02:16:36 +0000 Subject: fix to work against 1.3.x databases, with a warning --- httemplate/search/svc_acct.cgi | 86 ++++++++++++++++++++++++++++++++---------- 1 file changed, 66 insertions(+), 20 deletions(-) (limited to 'httemplate') diff --git a/httemplate/search/svc_acct.cgi b/httemplate/search/svc_acct.cgi index dba5ac302..dc4c4fdaa 100755 --- a/httemplate/search/svc_acct.cgi +++ b/httemplate/search/svc_acct.cgi @@ -1,12 +1,12 @@ <% -# +# use strict; -use vars qw( $cgi @svc_acct $sortby $query ); +use vars qw( $cgi @svc_acct $sortby $query $mydomain ); use CGI; use CGI::Carp qw(fatalsToBrowser); use FS::UID qw(cgisuidsetup); -use FS::Record qw(qsearch qsearchs); +use FS::Record qw(qsearch qsearchs dbdef); use FS::CGI qw(header eidiot popurl table); use FS::svc_acct; use FS::cust_main; @@ -62,16 +62,22 @@ if ( scalar(@svc_acct) == 1 ) { "$total matching accounts found", &table(), < - Service # + # Username Domain UID Service - Customer # - Contact name - Company - + Cust# + (bill) name + company END + if ( defined dbdef->table('cust_main')->column('ship_last') ) { + print <(service) name + company +END + } + print ""; my(%saw,$svc_acct); my $p = popurl(2); @@ -82,8 +88,22 @@ END or die "No cust_svc record for svcnum ". $svc_acct->svcnum; my $part_svc = qsearchs('part_svc', { 'svcpart' => $cust_svc->svcpart }) or die "No part_svc record for svcpart ". $cust_svc->svcpart; - my $svc_domain = qsearchs('svc_domain', { 'svcnum' => $svc_acct->domsvc }) - or die "No svc_domain record for domsvc ". $cust_svc->domsvc; + + my $domain; + my $svc_domain = qsearchs('svc_domain', { 'svcnum' => $svc_acct->domsvc }); + if ( $svc_domain ) { + $domain = "svcnum. + "\">". $svc_domain->domain. ""; + } else { + unless ( $mydomain ) { + my $conf = new FS::Conf; + unless ( $mydomain = $conf->config('domain') ) { + die "No legacy domain config file and no svc_domain.svcnum record ". + "for svc_acct.domsvc: ". $cust_svc->domsvc; + } + } + $domain = "$mydomain*"; + } my($cust_pkg,$cust_main); if ( $cust_svc->pkgnum ) { $cust_pkg = qsearchs('cust_pkg', { 'pkgnum' => $cust_svc->pkgnum }) @@ -91,10 +111,9 @@ END $cust_main = qsearchs('cust_main', { 'custnum' => $cust_pkg->custnum }) or die "No cust_main record for custnum ". $cust_pkg->custnum; } - my($svcnum,$username,$domain,$uid,$svc,$custnum,$last,$first,$company)=( + my($svcnum, $username, $uid, $svc, $custnum, $last, $first, $company) = ( $svc_acct->svcnum, $svc_acct->getfield('username'), - $svc_domain->getfield('domain'), $svc_acct->getfield('uid'), $part_svc->svc, $cust_svc->pkgnum ? $cust_main->custnum : '', @@ -106,8 +125,24 @@ END ? "$custnum" : "(unlinked)" ; - my($pname) = $custnum ? "$last, $first" : ''; + my $pname = $custnum ? "$last, $first" : ''; my $pcompany = $custnum ? "$company" : ''; + my($pship_name, $pship_company); + if ( defined dbdef->table('cust_main')->column('ship_last') ) { + my($ship_last, $ship_first, $ship_company) = ( + $cust_svc->pkgnum ? ( $cust_main->ship_last || $last ) : '', + $cust_svc->pkgnum ? ( $cust_main->ship_last + ? $cust_main->ship_first + : $first + ) : '', + $cust_svc->pkgnum ? ( $cust_main->ship_last + ? $cust_main->ship_company + : $company + ) : '', + ); + $pship_name = $custnum ? "$ship_last, $ship_first" : ''; + $pship_company = $custnum ? "$ship_company" : ''; + } print < $svcnum @@ -118,17 +153,28 @@ END $pcustnum $pname $pcompany - END + if ( defined dbdef->table('cust_main')->column('ship_last') ) { + print <$pship_name + $pship_company +END + } + print ""; } - print < - - - -END + print ''; + + if ( $mydomain ) { + print "
* The $mydomain domain ". + "is contained in your legacy domain ". + "configuration file. ". + "You should run the bin/fs-migrate-svc_acct_sm script ". + "to create a proper svc_domain record for this domain." + } + + print ''; } -- cgit v1.2.1