1 package FS::part_event::Condition::cust_bill_has_service;
6 use base qw( FS::part_event::Condition );
9 'Invoice is billing for a certain service type';
12 sub eventtable_hashref {
19 # could not find component for path '/elements/tr-select-part_svc.html'
24 'has_service' => { 'label' => 'Has service',
25 'type' => 'select-part_svc',
31 #my($self, $cust_bill, %opt) = @_;
32 my($self, $cust_bill) = @_;
34 my $servicenum = $self->option('has_service');
35 grep { $servicenum == $_->svcpart }
36 map { $_->cust_pkg->cust_svc }
37 $cust_bill->cust_bill_pkg ;
41 my( $class, $table, %opt ) = @_;
43 my $integer = $opt{'driver_name'} =~ /^mysql/ ? 'UNSIGNED INTEGER' : 'INTEGER';
45 my $servicenum = $class->condition_sql_option('has_service');
46 my $sql = qq| 0 < ( SELECT COUNT(cs.svcpart)
47 FROM cust_bill_pkg cbp, cust_svc cs
48 WHERE cbp.invnum = cust_bill.invnum
49 AND cs.pkgnum = cbp.pkgnum
50 AND cs.svcpart = CAST( $servicenum AS $integer )