X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fsearch%2Fsvc_acct.cgi;h=0a4338b529d26123f88cf1e995c80ba14322e7f0;hb=76ce9aeaeb39f496797398e84bfdc20fbd817b4d;hp=3a0e922ce3c1b945283a3eb621d3701ca4b8ca90;hpb=7d6600bc5fe5703979f1e15682fe185aa65c4a4e;p=freeside.git
diff --git a/httemplate/search/svc_acct.cgi b/httemplate/search/svc_acct.cgi
index 3a0e922ce..0a4338b52 100755
--- a/httemplate/search/svc_acct.cgi
+++ b/httemplate/search/svc_acct.cgi
@@ -21,25 +21,35 @@ $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 OR pkgnum = $empty )
+ )
+ ";
+ }
}
+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";
} else {
$sortby=\*uid_sort;
@svc_acct = @{&usernamesearch};
@@ -100,7 +110,7 @@ if ( scalar(@svc_acct) == 1 ) {
}
#end pager
- print header("Account Search Results",menubar('Main Menu'=>popurl(2)),
+ print header("Account Search Results",menubar('Main Menu'=>popurl(2))),
"$total matching accounts found
$pager",
&table(), <
@@ -141,7 +151,7 @@ END
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;
+ "for svc_acct.domsvc: ". $svc_acct->domsvc;
}
}
$domain = "$mydomain*";