[freeside-commits] branch FREESIDE_2_3_BRANCH updated. d6c36f251779288c9147275c5a6d1d1ddf795b8f
Ivan
ivan at 420.am
Wed May 9 18:34:49 PDT 2012
The branch, FREESIDE_2_3_BRANCH has been updated
via d6c36f251779288c9147275c5a6d1d1ddf795b8f (commit)
from db5d13003d4020d9d2bc78ebc565e748622237f4 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit d6c36f251779288c9147275c5a6d1d1ddf795b8f
Author: Ivan Kohler <ivan at freeside.biz>
Date: Wed May 9 18:34:48 2012 -0700
add (new?) troop CDR format, RT#17666
diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm
index 8ed00ad..7e1444f 100644
--- a/FS/FS/Schema.pm
+++ b/FS/FS/Schema.pm
@@ -2983,7 +2983,6 @@ sub tables_hashref {
###
'upstream_currency', 'char', 'NULL', 3, '', '',
- 'upstream_price', 'decimal', 'NULL', '10,4', '', '',
'upstream_rateplanid', 'int', 'NULL', '', '', '', #?
# how it was rated internally...
@@ -3008,6 +3007,10 @@ sub tables_hashref {
'charged_party', 'varchar', 'NULL', $char_d, '', '',
+ 'upstream_price', 'decimal', 'NULL', '10,4', '', '',
+ 'upstream_src_regionname', 'varchar', 'NULL', $char_d, '', '',
+ 'upstream_dst_regionname', 'varchar', 'NULL', $char_d, '', '',
+
# how it was rated internally...
'rated_price', 'decimal', 'NULL', '10,4', '', '',
'rated_seconds', 'int', 'NULL', '', '', '',
diff --git a/FS/FS/cdr/troop.pm b/FS/FS/cdr/troop.pm
index 020af2b..429c25a 100644
--- a/FS/FS/cdr/troop.pm
+++ b/FS/FS/cdr/troop.pm
@@ -7,7 +7,7 @@ use Time::Local;
#use FS::cdr qw( _cdr_date_parser_maker _cdr_min_parser_maker );
%info = (
- 'name' => 'Troop',
+ 'name' => 'Troop (old?)',
'weight' => 220,
'header' => 2,
'type' => 'xls',
diff --git a/FS/FS/cdr/troop2.pm b/FS/FS/cdr/troop2.pm
new file mode 100644
index 0000000..ee64740
--- /dev/null
+++ b/FS/FS/cdr/troop2.pm
@@ -0,0 +1,94 @@
+package FS::cdr::troop2;
+
+use strict;
+use base qw( FS::cdr );
+use vars qw( %info $tmp_date $tmp_src_city $tmp_dst_city );
+use Date::Parse;
+#use Time::Local;
+##use FS::cdr qw( _cdr_date_parser_maker _cdr_min_parser_maker );
+
+%info = (
+ 'name' => 'Troop',
+ 'weight' => 219,
+ 'header' => 1,
+ 'type' => 'xls',
+
+ 'import_fields' => [
+
+ 'userfield', #account_num (userfield?)
+
+ #call_date
+ sub { my($cdr, $date) = @_;
+ #is this an excel date? or just text?
+ $tmp_date = $date;
+ },
+
+ #call_time
+ sub { my($cdr, $time) = @_;
+ #is this an excel time? or just text?
+ $cdr->startdate( str2time("$tmp_date $time") );
+ },
+
+ 'src', #orig_tn
+ 'dst', #term_tn
+
+ #call_dur
+ sub { my($cdr, $duration) = @_;
+ $cdr->duration($duration);
+ $cdr->billsec($duration);
+ },
+
+ 'clid', #auth_code_ani (clid?)
+
+ 'accountcode', #account_code
+
+ #ovs_type
+ # OVS Type / Maybe / add "011" to international calls
+ # N = DOM LD / normal
+ # Z = INTL LD
+ # O = INTL LD
+ # others...?
+ sub { my($cdr, $ovs) = @_;
+ my $pre = ( $ovs =~ /^\s*[OZ]\s*$/i ) ? '011' : '1';
+ $cdr->dst( $pre. $cdr->dst ) unless $cdr->dst =~ /^$pre/;
+ },
+
+ #orig_city
+ sub { (my $cdr, $tmp_src_city) = @_; },
+
+ #orig_prov_state
+ sub { my($cdr, $state) = @_;
+ $cdr->upstream_src_regionname("$tmp_src_city, $state");
+ },
+
+ #term_city
+ sub { (my $cdr, $tmp_dst_city) = @_; },
+
+ #term_prov_state
+ sub { my($cdr, $state) = @_;
+ $cdr->upstream_dst_regionname("$tmp_dst_city, $state");
+ },
+
+ #term_ovs
+ '', #CANADA / UNITED STATES / BELL. huh. country or terminating provider?
+
+ '', #cc_ind (what's this?)
+
+ 'upstream_price', #call_charge
+
+ #important?
+ '', #creation_date
+ '', #creation_time
+
+ #additional upstream pricing details we don't need?
+ '', #net_charge
+ '', #surcharge
+ '', #gst
+ '', #pst
+ '', #hst
+
+ ],
+
+);
+
+1;
-----------------------------------------------------------------------
Summary of changes:
FS/FS/Schema.pm | 5 ++-
FS/FS/cdr/troop.pm | 2 +-
FS/FS/cdr/troop2.pm | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 99 insertions(+), 2 deletions(-)
create mode 100644 FS/FS/cdr/troop2.pm
More information about the freeside-commits
mailing list