fix times condition vs. mysql (causes billing errors even if not using), RT#10574
[freeside.git] / FS / FS / part_event / Condition / cust_bill_has_service.pm
index 91d75dd..7c1916b 100644 (file)
@@ -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;