event condition speed improvements, RT#6802
[freeside.git] / FS / FS / part_event / Condition / has_referral_custnum.pm
index 61a8155..70c9c7f 100644 (file)
@@ -38,11 +38,13 @@ sub condition {
 }
 
 sub condition_sql {
-  #my( $class, $table ) = @_;
+  my( $class, $table ) = @_;
 
-  "cust_main.referral_custnum IS NOT NULL";
-
-  #XXX a bit harder to check active status here
+  my $sql = FS::cust_main->active_sql;
+  $sql =~ s/cust_main.custnum/cust_main.referral_custnum/;
+  $sql = 'cust_main.referral_custnum IS NOT NULL AND ('.
+          $class->condition_sql_option('active') . ' IS NULL OR '.$sql.')';
+  return $sql;
 }
 
 1;