X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcdr%2Ffreeside_description_default.pm;h=fd91530ef810795c7a372414efa4b1db0225d42d;hb=HEAD;hp=bc4e89f544bc42ae66b05a0825a34b2ba38e2bab;hpb=5e9dda2c5757c63ac51f53e651977f7ea41006ed;p=freeside.git diff --git a/FS/FS/cdr/freeside_description_default.pm b/FS/FS/cdr/freeside_description_default.pm index bc4e89f54..fd91530ef 100644 --- a/FS/FS/cdr/freeside_description_default.pm +++ b/FS/FS/cdr/freeside_description_default.pm @@ -10,6 +10,7 @@ use FS::cdr; %info = ( 'name' => 'Freeside default with description field as destination', 'weight' => 25, + 'type' => 'csv', 'header' => 1, 'import_fields' => [ 'charged_party', # Billed number @@ -27,7 +28,8 @@ use FS::cdr; $time =~ /^(\d{1,2}):(\d{1,2}):(\d{1,2}) (AM|PM)$/ or die "unparsable time: $time"; #maybe we shouldn't die... my $hour = $1; - $hour += 12 if $4 eq 'PM'; + $hour += 12 if $4 eq 'PM' && $hour != 12; + $hour = 0 if $4 eq 'AM' && $hour == 12; $cdr->startdate( timelocal($3, $2, $hour ,$tmp_mday, $tmp_mon, $tmp_year) ); @@ -36,9 +38,9 @@ use FS::cdr; # Number sub { my($cdr, $number) = @_; - $number =~ /(\d+)$/ + $number =~ /(\+|)(\d+)\s([\d\*]+)$/ or die "unparsable number: $number"; #maybe we shouldn't die... - $cdr->dst($1); + $cdr->dst("$1$2$3"); }, 'description', # Destination (regionname) @@ -46,7 +48,7 @@ use FS::cdr; # Duration sub { my($cdr, $duration) = @_; - $duration =~ /^(\d{1,2})m (\d{1,2})s$/ + $duration =~ /^(\d{1,3})m (\d{1,2})s$/ or die "unparsable duration: $duration"; #maybe we shouldn't die... my $sec = $1*60 + $2; $cdr->duration($sec);