Ticket #33144 changes to cia cdr fromat
authorJeremy Davis <jeremyd@freeside.biz>
Sun, 25 Jan 2015 22:16:21 +0000 (17:16 -0500)
committerJeremy Davis <jeremyd@freeside.biz>
Sun, 25 Jan 2015 22:16:21 +0000 (17:16 -0500)
FS/FS/cdr/cia.pm

index ca44c0f..0471e9b 100644 (file)
@@ -1,8 +1,9 @@
 package FS::cdr::cia;
 
 use strict;
-use vars qw( @ISA %info );
+use vars qw( @ISA %info $date $tmp_mday $tmp_mon $tmp_year);
 use FS::cdr qw(_cdr_date_parser_maker);
+use Time::Local;
 
 @ISA = qw(FS::cdr);
 
@@ -11,26 +12,39 @@ use FS::cdr qw(_cdr_date_parser_maker);
   'weight'        => 510,
   'header'        => 1,
   'type'          => 'csv',
-  'sep_char'      => "\t",
+  'sep_char'      => "|",
   'import_fields' => [
-    skip(2),          # Reseller Account Number, Confirmation Number
-    'description',    # Conference Name
-    skip(3),          # Organization Name, Bill Code, Q&A Active 
-    'userfield',      # Chairperson Name
-    skip(2),          # Conference Start Time, Conference End Time
-    _cdr_date_parser_maker('startdate'),  # Connect Time
-    _cdr_date_parser_maker('enddate'),    # Disconnect Time
-    skip(1),          # Duration
-    sub { my($cdr, $data, $conf, $param) = @_;
-          $cdr->duration($data);
-          $cdr->billsec( $data);
-    },                # Roundup Duration
-    skip(1),          # User Name
-    'dst',            # DNIS
-    'src',            # ANI
-    skip(2),          # Call Type, Toll Free, 
-    'accountcode',    # Chair Conference Entry Code
-    skip(1),          # Participant Conference Entry Code,
+    'accountcode',
+    skip(2),          # First and last name
+
+    sub { my($cdr, $date) = @_;
+          $date =~ /^(\d{1,2})\/(\d{1,2})\/(\d\d(\d\d)?)$/
+            or die "unparsable date: $date"; #maybe we shouldn't die...
+          ($tmp_mday, $tmp_mon, $tmp_year) = ( $2, $1-1, $3 );
+        }, #Date
+
+    sub { my($cdr, $time) = @_;
+          #my($sec, $min, $hour, $mday, $mon, $year)= localtime($cdr->startdate);
+          $time =~ /^(\d{1,2}):(\d{1,2}):(\d{1,2})$/
+            or die "unparsable time: $time"; #maybe we shouldn't die...
+          $cdr->startdate( timelocal($3, $2, $1 ,$tmp_mday, $tmp_mon, $tmp_year));
+          $cdr->answerdate( timelocal($3, $2, $1 ,$tmp_mday, $tmp_mon, $tmp_year));
+         
+        }, # Start time
+
+    sub { my($cdr, $time) = @_;
+          #my($sec, $min, $hour, $mday, $mon, $year)= localtime($cdr->startdate);
+          $time =~ /^(\d{1,2}):(\d{1,2}):(\d{1,2})$/
+            or die "unparsable time: $time"; #maybe we shouldn't die...
+          #$cdr->startdate( timelocal($3, $2, $1 ,$mday, $mon, $year) );
+          $cdr->enddate(
+            timelocal($3, $2, $1 ,$tmp_mday, $tmp_mon, $tmp_year) ); 
+        }, # End time
+
+    'disposition',    # Disposition
+    'dst',            # PhoneNumber
+    skip(3),          # Extension, Service Type, Filler
+    'src',            # ClientContactID
     ],
 
 );