specify multiple agentnums with freeside-daily
[freeside.git] / FS / FS / Cron / bill.pm
index d727d92..62bb321 100644 (file)
@@ -34,14 +34,21 @@ sub bill {
   $FS::cust_main::DEBUG = $debug;
   #$FS::cust_event::DEBUG = $opt{'l'} if $opt{'l'};
 
+  my $conf = new FS::Conf;
+  if ( $conf->exists('disable_cron_billing') ) {
+    warn "disable_cron_billing set, skipping billing\n" if $debug;
+    return;
+  }
+
   #we're at now now (and later).
   $opt{'time'} = $opt{'d'} ? str2time($opt{'d'}) : $^T;
   $opt{'time'} += $opt{'y'} * 86400 if $opt{'y'};
 
   $opt{'invoice_time'} = $opt{'n'} ? $^T : $opt{'time'};
 
-  my $not_pkgpart = $opt{g} ? { map { $_=>1 } split(/,\s*/, $opt{g}) }
-                            : {};
+  #hashref here doesn't work with -m
+  #my $not_pkgpart = $opt{g} ? { map { $_=>1 } split(/,\s*/, $opt{g}) }
+  #                          : {};
 
   ###
   # get a list of custnums
@@ -78,7 +85,7 @@ sub bill {
                                  #(not, when using -m, freeside-queued)
           'check_freq'   => $check_freq,
           'resetup'      => ( $opt{'s'} ? $opt{'s'} : 0 ),
-          'not_pkgpart'  => $not_pkgpart,
+          'not_pkgpart'  => $opt{'g'}, #$not_pkgpart,
       );
 
       if ( $opt{'m'} ) {
@@ -154,7 +161,7 @@ sub bill_where {
 
   push @search, "cust_main.payby    = '". $opt{'p'}. "'"
     if $opt{'p'};
-  push @search, "cust_main.agentnum =  ". $opt{'a'}
+  push @search, "cust_main.agentnum IN ( ". $opt{'a'}. " ) "
     if $opt{'a'};
 
   #it would be useful if i recognized $opt{g} / $not_pkgpart...