fix manually setting cdrtypenum or carrierid to 0, RT#86028
authorIvan Kohler <ivan@freeside.biz>
Fri, 1 Jul 2022 17:05:38 +0000 (10:05 -0700)
committerIvan Kohler <ivan@freeside.biz>
Fri, 1 Jul 2022 17:05:38 +0000 (10:05 -0700)
FS/bin/freeside-cdr-sftp_and_import

index bae8051..f2bf294 100755 (executable)
@@ -21,8 +21,8 @@ $opt_e =~ s/^\.//;
 
 $opt_p ||= '';
 
 
 $opt_p ||= '';
 
-die "invalid cdrtypenum" if $opt_c && $opt_c !~ /^\d+$/;
-die "invalid carrierid"  if $opt_i && $opt_i !~ /^\d+$/;
+die "invalid cdrtypenum" if defined $opt_c && $opt_c !~ /^\d+$/;
+die "invalid carrierid"  if defined $opt_i && $opt_i !~ /^\d+$/;
 
 my %options = ();
 
 
 my %options = ();
 
@@ -114,8 +114,8 @@ foreach my $filename ( @$ls ) {
     'batch_namevalue' => $file_timestamp,
     'empty_ok'        => 1,
   };
     'batch_namevalue' => $file_timestamp,
     'empty_ok'        => 1,
   };
-  $import_options->{'cdrtypenum'} = $opt_c if $opt_c;
-  $import_options->{'carrierid'}  = $opt_i if $opt_i;
+  $import_options->{'cdrtypenum'} = $opt_c if defined $opt_c;
+  $import_options->{'carrierid'}  = $opt_i if defined $opt_i;
   
   my $error = FS::cdr::batch_import($import_options);
 
   
   my $error = FS::cdr::batch_import($import_options);
 
@@ -164,7 +164,7 @@ foreach my $filename ( @$ls ) {
 
 sub usage {
   "Usage:
 
 sub usage {
   "Usage:
-  cdr.sftp_and_import [ -m method ] [ -p prefix ] [ -e extension ] 
+  freeside-cdr-sftp_and_import [ -m method ] [ -p prefix ] [ -e extension ]
     [ -r remotefolder ] [ -d donefolder ] [ -v level ] [ -P port ]
     [ -a ] [ -g ] [ -s ] [ -c cdrtypenum ] user format [sftpuser@]servername
   ";
     [ -r remotefolder ] [ -d donefolder ] [ -v level ] [ -P port ]
     [ -a ] [ -g ] [ -s ] [ -c cdrtypenum ] user format [sftpuser@]servername
   ";