X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fsearch%2Fsvc_acct.cgi;h=0954bf65224993a8db78e639521cbea944ced5b4;hp=dd0221d9afb235ff8338bd543b5e81b51cff9162;hb=71eb3c33da045ffdc963b5ad8111af8a8bef878d;hpb=bc8ce86aaf207f2fb89054020873bbff79489642
diff --git a/httemplate/search/svc_acct.cgi b/httemplate/search/svc_acct.cgi
index dd0221d9a..0954bf652 100755
--- a/httemplate/search/svc_acct.cgi
+++ b/httemplate/search/svc_acct.cgi
@@ -1,7 +1,5 @@
<%
-my $mydomain = '';
-
my $conf = new FS::Conf;
my $maxrecords = $conf->config('maxsearchrecordsperpage');
@@ -21,31 +19,52 @@ $query ||= ''; #to avoid use of unitialized value errors
my $unlinked = '';
if ( $query =~ /^UN_(.*)$/ ) {
$query = $1;
- $unlinked = '
- WHERE 0 <
- ( SELECT count(*) FROM cust_svc
- WHERE cust_svc.svcnum = svc_acct.svcnum
- AND pkgnum IS NULL
- )
- ';
+ my $empty = driver_name eq 'Pg' ? qq('') : qq("");
+ if ( driver_name eq 'mysql' ) {
+ $unlinked = "LEFT JOIN cust_svc ON cust_svc.svcnum = svc_acct.svcnum
+ WHERE cust_svc.pkgnum IS NULL
+ OR cust_svc.pkgnum = 0
+ OR cust_svc.pkgnum = $empty";
+ } else {
+ $unlinked = "
+ WHERE 0 <
+ ( SELECT count(*) FROM cust_svc
+ WHERE cust_svc.svcnum = svc_acct.svcnum
+ AND ( pkgnum IS NULL OR pkgnum = 0 )
+ )
+ ";
+ }
}
+my $tblname = driver_name eq 'mysql' ? 'svc_acct.' : '';
my(@svc_acct, $sortby);
if ( $query eq 'svcnum' ) {
$sortby=\*svcnum_sort;
- $orderby = 'ORDER BY svcnum';
+ $orderby = "ORDER BY ${tblname}svcnum";
} elsif ( $query eq 'username' ) {
$sortby=\*username_sort;
- $orderby = 'ORDER BY username';
+ $orderby = "ORDER BY ${tblname}username";
} elsif ( $query eq 'uid' ) {
$sortby=\*uid_sort;
- $orderby = ( $unlinked ? 'AND' : 'WHERE' ). ' uid IS NOT NULL ORDER BY uid';
+ $orderby = ( $unlinked ? 'AND' : 'WHERE' ).
+ " ${tblname}uid IS NOT NULL ORDER BY ${tblname}uid";
+} elsif ( $query =~ /popnum=(\d+)/ ) {
+ my $popnum = $1;
+ $unlinked .= ( $unlinked ? 'AND' : 'WHERE' ).
+ " popnum = $popnum";
+ $sortby=\*username_sort;
+ $orderby = "ORDER BY ${tblname}username";
} else {
$sortby=\*uid_sort;
@svc_acct = @{&usernamesearch};
}
-if ( $query eq 'svcnum' || $query eq 'username' || $query eq 'uid' ) {
+
+if ( $query eq 'svcnum'
+ || $query eq 'username'
+ || $query eq 'uid'
+ || $query eq 'popnum'
+ ) {
my $statement = "SELECT COUNT(*) FROM svc_acct $unlinked";
my $sth = dbh->prepare($statement)
@@ -100,7 +119,7 @@ if ( scalar(@svc_acct) == 1 ) {
}
#end pager
- print header("Account Search Results",''),
+ print header("Account Search Results",menubar('Main Menu'=>popurl(2))),
"$total matching accounts found
$pager",
&table(), <
@@ -137,14 +156,8 @@ END
$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*";
+ die "No svc_domain.svcnum record for svc_acct.domsvc: ".
+ $svc_acct->domsvc;
}
my($cust_pkg,$cust_main);
if ( $cust_svc->pkgnum ) {
@@ -206,17 +219,8 @@ END
}
- print "$pager
";
-
- 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 '