X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fpart_event%2FCondition%2Fcust_bill_has_service.pm;h=7c1916beac4d5b805edbfb5492808fa62171dc14;hb=a0fec35d6bac0cece6bafa557a7a53058fdf5c6a;hp=91d75ddac33d1086eaa4d6300708a019f2b77d1f;hpb=63a268637b2d51a8766412617724b9436439deb6;p=freeside.git diff --git a/FS/FS/part_event/Condition/cust_bill_has_service.pm b/FS/FS/part_event/Condition/cust_bill_has_service.pm index 91d75ddac..7c1916bea 100644 --- a/FS/FS/part_event/Condition/cust_bill_has_service.pm +++ b/FS/FS/part_event/Condition/cust_bill_has_service.pm @@ -32,20 +32,23 @@ sub condition { my($self, $cust_bill) = @_; my $servicenum = $self->option('has_service'); + grep { $servicenum == $_->svcpart } - map { $_->cust_pkg->cust_svc } - $cust_bill->cust_bill_pkg ; + map { $_->cust_svc } + $cust_bill->cust_pkg; } sub condition_sql { - my( $class, $table ) = @_; - - my $servicenum = $class->condition_sql_option('has_service'); + my( $class, $table, %opt ) = @_; + + my $servicenum = + $class->condition_sql_option_integer('has_service', $opt{'driver_name'}); + my $sql = qq| 0 < ( SELECT COUNT(cs.svcpart) FROM cust_bill_pkg cbp, cust_svc cs WHERE cbp.invnum = cust_bill.invnum AND cs.pkgnum = cbp.pkgnum - AND cs.svcpart = CAST( $servicenum AS integer ) + AND cs.svcpart = $servicenum ) |; return $sql;