summaryrefslogtreecommitdiff
path: root/FS/FS/part_event/Condition/has_referral_custnum.pm
diff options
context:
space:
mode:
Diffstat (limited to 'FS/FS/part_event/Condition/has_referral_custnum.pm')
-rw-r--r--FS/FS/part_event/Condition/has_referral_custnum.pm21
1 files changed, 11 insertions, 10 deletions
diff --git a/FS/FS/part_event/Condition/has_referral_custnum.pm b/FS/FS/part_event/Condition/has_referral_custnum.pm
index 007ce4548..a56e3faec 100644
--- a/FS/FS/part_event/Condition/has_referral_custnum.pm
+++ b/FS/FS/part_event/Condition/has_referral_custnum.pm
@@ -60,19 +60,20 @@ sub condition {
sub condition_sql {
my( $class, $table, %opt ) = @_;
+ my $active_sql = FS::cust_main->active_sql;
+ $active_sql =~ s/cust_main.custnum/cust_main.referral_custnum/;
+
+ my $under = $class->condition_sql_option_money('balance');
+
my $age = $class->condition_sql_option_age_from('age', $opt{'time'});
- my $balance_sql = FS::cust_main->balance_sql( $age );
- my $balance_date_sql = FS::cust_main->balance_date_sql;
- my $active_sql = FS::cust_main->active_sql;
- $balance_sql =~ s/cust_main.custnum/cust_main.referral_custnum/;
+ my $balance_date_sql = FS::cust_main->balance_date_sql($age);
$balance_date_sql =~ s/cust_main.custnum/cust_main.referral_custnum/;
- $active_sql =~ s/cust_main.custnum/cust_main.referral_custnum/;
-
- my $sql = "cust_main.referral_custnum IS NOT NULL".
- " AND (".$class->condition_sql_option('active')." IS NULL OR $active_sql)".
- " AND ($balance_date_sql <= $balance_sql)";
+ my $bal_sql = "$balance_date_sql <= $under";
- return $sql;
+ "cust_main.referral_custnum IS NOT NULL
+ AND (". $class->condition_sql_option('active'). " IS NULL OR $active_sql)
+ AND (". $class->condition_sql_option('check_bal'). " IS NULL OR $bal_sql )
+ ";
}
1;