diff options
author | ivan <ivan> | 2009-11-04 00:53:12 +0000 |
---|---|---|
committer | ivan <ivan> | 2009-11-04 00:53:12 +0000 |
commit | a5351dba7b097a440e60b5cb71b6382d8e5f61ab (patch) | |
tree | fd5fa2df8b3de5d623978807b4b829deae7bdf1e /FS | |
parent | fa1f500a69ca68c068d5ad15839b620c39c184ec (diff) |
fix customer package search (fallout from customer classes) & add "not yet billed" status to customer package report
Diffstat (limited to 'FS')
-rw-r--r-- | FS/FS/cust_pkg.pm | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm index e4846ec34..e195ed87d 100644 --- a/FS/FS/cust_pkg.pm +++ b/FS/FS/cust_pkg.pm @@ -2221,6 +2221,7 @@ Returns an SQL expression identifying active packages. sub active_sql { " ". $_[0]->recurring_sql(). " + AND cust_pkg.setup IS NOT NULL AND cust_pkg.setup != 0 AND ( cust_pkg.cancel IS NULL OR cust_pkg.cancel = 0 ) AND ( cust_pkg.susp IS NULL OR cust_pkg.susp = 0 ) "; } @@ -2384,8 +2385,8 @@ sub search_sql { push @where, FS::cust_pkg->active_sql(); - } elsif ( $params->{'magic'} eq 'not yet billed' - || $params->{'status'} eq 'not yet billed' ) { + } elsif ( $params->{'magic'} =~ /^not[ _]yet[ _]billed$/ + || $params->{'status'} =~ /^not[ _]yet[ _]billed$/ ) { push @where, FS::cust_pkg->not_yet_billed_sql(); @@ -2419,7 +2420,7 @@ sub search_sql { { $classnum = $1; if ( $classnum ) { #a specific class - push @where, "classnum = $classnum"; + push @where, "part_pkg.classnum = $classnum"; #@pkg_class = ( qsearchs('pkg_class', { 'classnum' => $classnum } ) ); #die "classnum $classnum not found!" unless $pkg_class[0]; @@ -2427,7 +2428,7 @@ sub search_sql { } elsif ( $classnum eq '' ) { #the empty class - push @where, "classnum IS NULL"; + push @where, "part_pkg.classnum IS NULL"; #$title .= 'Empty class '; #@pkg_class = ( '(empty class)' ); } elsif ( $classnum eq '0' ) { @@ -2591,9 +2592,9 @@ sub search_sql { my $extra_sql = scalar(@where) ? ' WHERE '. join(' AND ', @where) : ''; - my $addl_from = 'LEFT JOIN cust_main USING ( custnum ) '. - 'LEFT JOIN part_pkg USING ( pkgpart ) '. - 'LEFT JOIN pkg_class USING ( classnum ) '; + my $addl_from = 'LEFT JOIN part_pkg USING ( pkgpart ) '. + 'LEFT JOIN pkg_class USING ( classnum ) '. + 'LEFT JOIN cust_main USING ( custnum ) '; my $count_query = "SELECT COUNT(*) FROM cust_pkg $addl_from $extra_sql"; |