From c5e009ec434d5421707d9f5b95c378cf11f71ee7 Mon Sep 17 00:00:00 2001 From: Jeremy Davis Date: Wed, 11 Feb 2015 12:16:25 -0500 Subject: [PATCH] Ticket #33144 New format, not a change to the existing one --- FS/FS/cdr/cia.pm | 54 +++++++++++++++++----------------------------- FS/FS/cdr/cia_callblast.pm | 54 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+), 34 deletions(-) create mode 100644 FS/FS/cdr/cia_callblast.pm diff --git a/FS/FS/cdr/cia.pm b/FS/FS/cdr/cia.pm index 0471e9bb4..ca44c0fdf 100644 --- a/FS/FS/cdr/cia.pm +++ b/FS/FS/cdr/cia.pm @@ -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 index 000000000..d59cd7823 --- /dev/null +++ b/FS/FS/cdr/cia_callblast.pm @@ -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; -- 2.11.0