RT#25387: cust_main-status_module does not change status in reporting
[freeside.git] / FS / FS / cust_main_Mixin.pm
index 94e6eaa..6e9111e 100644 (file)
@@ -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
@@ -469,9 +459,8 @@ sub email_search_result {
       # 3.x: false laziness with msg_template.pm; on 4.x, all email notices
       # are generated from templates and this case goes away
       my @classes;
-      if ( $opt{'to_contact_classnum'} ) {
-        my $classnum = $opt{'to_contact_classnum'};
-        @classes = ref($classnum) ? @$classnum : split(',', $classnum);
+      if ( $to_contact_classnum ) {
+        @classes = ref($to_contact_classnum) ? @$to_contact_classnum : split(',', $to_contact_classnum);
       }
       if (!@classes) {
         @classes = ( 'invoice' );