summaryrefslogtreecommitdiff
path: root/FS/FS/cdr
diff options
context:
space:
mode:
authorivan <ivan>2008-08-02 23:52:37 +0000
committerivan <ivan>2008-08-02 23:52:37 +0000
commit1a3a050131502579e0a8e9c05eee2355a2e7cc3b (patch)
tree65f06af88105d68367b0df097ca939413ead3c07 /FS/FS/cdr
parentefc68f41987d007de5e792b88df1c63bf3dedf4c (diff)
fix 'Can't call method "parse" on an undefined value' error from CDR format refactor
Diffstat (limited to 'FS/FS/cdr')
-rw-r--r--FS/FS/cdr/asterisk.pm1
-rw-r--r--FS/FS/cdr/genband.pm1
-rw-r--r--FS/FS/cdr/genband_meetme.pm1
-rw-r--r--FS/FS/cdr/nextone.pm1
-rw-r--r--FS/FS/cdr/openser.pm1
-rw-r--r--FS/FS/cdr/simple.pm17
-rw-r--r--FS/FS/cdr/simple2.pm51
-rw-r--r--FS/FS/cdr/taqua.pm1
-rw-r--r--FS/FS/cdr/unitel.pm1
9 files changed, 68 insertions, 7 deletions
diff --git a/FS/FS/cdr/asterisk.pm b/FS/FS/cdr/asterisk.pm
index c687962..8b29642 100644
--- a/FS/FS/cdr/asterisk.pm
+++ b/FS/FS/cdr/asterisk.pm
@@ -1,5 +1,6 @@
package FS::cdr::asterisk;
+use strict;
use vars qw(@ISA %info);
use FS::cdr qw(_cdr_date_parser_maker);
diff --git a/FS/FS/cdr/genband.pm b/FS/FS/cdr/genband.pm
index a509950..298625b 100644
--- a/FS/FS/cdr/genband.pm
+++ b/FS/FS/cdr/genband.pm
@@ -1,5 +1,6 @@
package FS::cdr::genband;
+use strict;
use vars qw(@ISA %info);
use FS::cdr qw(_cdr_date_parser_maker);
diff --git a/FS/FS/cdr/genband_meetme.pm b/FS/FS/cdr/genband_meetme.pm
index b4414ab..d87dd8f 100644
--- a/FS/FS/cdr/genband_meetme.pm
+++ b/FS/FS/cdr/genband_meetme.pm
@@ -1,5 +1,6 @@
package FS::cdr::genband_meetme;
+use strict;
use vars qw(@ISA %info);
use FS::cdr qw(_cdr_date_parser_maker);
diff --git a/FS/FS/cdr/nextone.pm b/FS/FS/cdr/nextone.pm
index e8ef0d4..0e31456 100644
--- a/FS/FS/cdr/nextone.pm
+++ b/FS/FS/cdr/nextone.pm
@@ -1,5 +1,6 @@
package FS::cdr::nextone;
+use strict;
use vars qw(@ISA %info);
use FS::cdr qw(_cdr_date_parser_maker);
diff --git a/FS/FS/cdr/openser.pm b/FS/FS/cdr/openser.pm
index 1c2796e..87fb822 100644
--- a/FS/FS/cdr/openser.pm
+++ b/FS/FS/cdr/openser.pm
@@ -1,5 +1,6 @@
package FS::cdr::openser;
+use strict;
use vars qw(@ISA %info);
use FS::cdr qw(_cdr_date_parser_maker);
diff --git a/FS/FS/cdr/simple.pm b/FS/FS/cdr/simple.pm
index ab1e3ea..b923405 100644
--- a/FS/FS/cdr/simple.pm
+++ b/FS/FS/cdr/simple.pm
@@ -1,7 +1,9 @@
package FS::cdr::simple;
-use vars qw(@ISA %info);
-use FS::cdr;
+use strict;
+use vars qw( @ISA %info $tmp_mon $tmp_mday $tmp_year );
+use Time::Local;
+use FS::cdr qw(_cdr_min_parser_maker);
@ISA = qw(FS::cdr);
@@ -37,11 +39,12 @@ use FS::cdr;
'dst',
# Duration
- sub { my($cdr, $min) = @_;
- my $sec = sprintf('%.0f', $min * 60 );
- $cdr->billsec( $sec );
- $cdr->duration( $sec );
- },
+ _cdr_min_parser_maker, #( [qw( billsec duration)] ),
+ #sub { my($cdr, $min) = @_;
+ # my $sec = sprintf('%.0f', $min * 60 );
+ # $cdr->billsec( $sec );
+ # $cdr->duration( $sec );
+ # },
],
);
diff --git a/FS/FS/cdr/simple2.pm b/FS/FS/cdr/simple2.pm
new file mode 100644
index 0000000..a4b5fdb
--- /dev/null
+++ b/FS/FS/cdr/simple2.pm
@@ -0,0 +1,51 @@
+package FS::cdr::simple2;
+
+use strict;
+use vars qw( @ISA %info $tmp_mon $tmp_mday $tmp_year );
+use Time::Local;
+use FS::cdr qw(_cdr_min_parser_maker);
+
+@ISA = qw(FS::cdr);
+
+%info = (
+ 'name' => 'Simple (Prerated)',
+ 'weight' => 25,
+ 'header' => 1,
+ 'import_fields' => [
+ sub {}, #TEXT_TIME (redundant w/Time)
+ sub {}, #Blank
+ 'src', #Calling.
+
+ #Date (YY/MM/DD)
+ sub { my($cdr, $date) = @_;
+ $date =~ /^(\d\d(\d\d)?)\/(\d{1,2})\/(\d{1,2})$/
+ or die "unparsable date: $date"; #maybe we shouldn't die...
+ #$cdr->startdate( timelocal(0, 0, 0 ,$3, $2-1, $1) );
+ ($tmp_mday, $tmp_mon, $tmp_year) = ( $3, $2-1, $1 );
+ },
+
+ #Time
+ sub { my($cdr, $time) = @_;
+ $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->startdate(
+ timelocal($3, $2, $1 ,$tmp_mday, $tmp_mon, $tmp_year)
+ );
+ },
+
+ 'dst', #Dest
+ 'userfield', #? #DestinationDesc
+
+ #Min
+ _cdr_min_parser_maker, #( [qw( billsec duration)] ),
+
+ sub {}, #Rate XXX do something w/this, informationally???
+ 'upstream_price', #Total
+
+ 'accountcode', #ServCode
+ 'description', #Service_Type
+ ],
+);
+
+
diff --git a/FS/FS/cdr/taqua.pm b/FS/FS/cdr/taqua.pm
index 587d97d..bdbac13 100644
--- a/FS/FS/cdr/taqua.pm
+++ b/FS/FS/cdr/taqua.pm
@@ -1,5 +1,6 @@
package FS::cdr::taqua;
+use strict;
use vars qw(@ISA %info);
use FS::cdr qw(_cdr_date_parser_maker);
diff --git a/FS/FS/cdr/unitel.pm b/FS/FS/cdr/unitel.pm
index 74d0840..df34a57 100644
--- a/FS/FS/cdr/unitel.pm
+++ b/FS/FS/cdr/unitel.pm
@@ -1,5 +1,6 @@
package FS::cdr::unitel;
+use strict;
use vars qw(@ISA %info);
use FS::cdr;