Ticket #33144 New format, not a change to the existing one
authorJeremy Davis <jeremyd@freeside.biz>
Wed, 11 Feb 2015 17:16:25 +0000 (12:16 -0500)
committerJeremy Davis <jeremyd@freeside.biz>
Wed, 11 Feb 2015 17:16:25 +0000 (12:16 -0500)
FS/FS/cdr/cia.pm
FS/FS/cdr/cia_callblast.pm [new file with mode: 0644]

index 0471e9b..ca44c0f 100644 (file)
@@ -1,9 +1,8 @@
 package FS::cdr::cia;
 
 use strict;
-use vars qw( @ISA %info $date $tmp_mday $tmp_mon $tmp_year);
+use vars qw( @ISA %info );
 use FS::cdr qw(_cdr_date_parser_maker);
-use Time::Local;
 
 @ISA = qw(FS::cdr);
 
@@ -12,39 +11,26 @@ use Time::Local;
   'weight'        => 510,
   'header'        => 1,
   'type'          => 'csv',
-  'sep_char'      => "|",
+  'sep_char'      => "\t",
   'import_fields' => [
-    '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
+    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,
     ],
 
 );
diff --git a/FS/FS/cdr/cia_callblast.pm b/FS/FS/cdr/cia_callblast.pm
new file mode 100644 (file)
index 0000000..d59cd78
--- /dev/null
@@ -0,0 +1,54 @@
+package FS::cdr::cia_callblast;
+
+use strict;
+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);
+
+%info = (
+  'name'          => 'Client Instant Access Callblast',
+  'weight'        => 510,
+  'header'        => 1,
+  'type'          => 'csv',
+  'sep_char'      => "|",
+  'import_fields' => [
+    '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
+    ],
+
+);
+
+sub skip { map {''} (1..$_[0]) }
+
+1;