From 735f73aec092f56df6289e0fe4f655d57c11f93f Mon Sep 17 00:00:00 2001 From: Jonathan Prykop Date: Mon, 27 Jun 2016 22:40:44 -0500 Subject: RT#15006: Bug? Cancelled customers shown in reports? --- FS/FS/cust_main.pm | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) (limited to 'FS') diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index ecd30702f..3fb0a87fb 100644 --- a/FS/FS/cust_main.pm +++ b/FS/FS/cust_main.pm @@ -4769,15 +4769,10 @@ Returns an SQL expression identifying un-cancelled cust_main records. =cut sub uncancelled_sql { uncancel_sql(@_); } -sub uncancel_sql { " - ( 0 < ( $select_count_pkgs - AND ( cust_pkg.cancel IS NULL - OR cust_pkg.cancel = 0 - ) - ) - OR 0 = ( $select_count_pkgs ) - ) -"; } +sub uncancel_sql { + my $self = shift; + "( NOT (".$self->cancelled_sql.") )"; #sensitive to cust_main-status_module +} =item balance_sql -- cgit v1.2.1 From 859eaa6ff11225dd556c02003cff2a102f6d5605 Mon Sep 17 00:00:00 2001 From: Jonathan Prykop Date: Mon, 27 Jun 2016 23:35:41 -0500 Subject: RT#25387: cust_main-status_module does not change status in reporting --- FS/FS/cust_main_Mixin.pm | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) (limited to 'FS') diff --git a/FS/FS/cust_main_Mixin.pm b/FS/FS/cust_main_Mixin.pm index 9fc66e059..adf8c7194 100644 --- a/FS/FS/cust_main_Mixin.pm +++ b/FS/FS/cust_main_Mixin.pm @@ -210,19 +210,9 @@ a customer. sub cust_status { my $self = shift; return $self->cust_unlinked_msg unless $self->cust_linked; - - #FS::cust_main::status($self) - #false laziness w/actual cust_main::status - # (make sure FS::cust_main methods are called) - for my $status (qw( prospect active inactive suspended cancelled )) { - my $method = $status.'_sql'; - my $sql = FS::cust_main->$method();; - my $numnum = ( $sql =~ s/cust_main\.custnum/?/g ); - my $sth = dbh->prepare("SELECT $sql") or die dbh->errstr; - $sth->execute( ($self->custnum) x $numnum ) - or die "Error executing 'SELECT $sql': ". $sth->errstr; - return $status if $sth->fetchrow_arrayref->[0]; - } + my $cust_main = $self->cust_main; + return $self->cust_unlinked_msg unless $cust_main; + return $cust_main->cust_status; } =item ucfirst_cust_status -- cgit v1.2.1