fix TeleAPI import (what kind of crack was Christopher smoking that he couldn't fix...
[freeside.git] / FS / FS / cdr / amcom.pm
index 97ab402..4fb94ee 100644 (file)
@@ -4,6 +4,8 @@ use strict;
 use base qw( FS::cdr );
 use vars qw( %info );
 use DateTime;
+use FS::Record qw( qsearchs );
+use FS::cdr_type;
 
 my ($tmp_mday, $tmp_mon, $tmp_year);
 
@@ -25,11 +27,21 @@ my ($tmp_mday, $tmp_mon, $tmp_year);
     'accountcode',# 2. BWGroupID (centrex group)
     sub {         # 3. BWGroupNumber
       my ($cdr, $field) = @_; #, $conf, $hashref) = @_;
-      $cdr->charged_party($field)
-        if $cdr->accountcode eq '' && $field =~ /^(1800|1300)/;
+
+        if ($cdr->accountcode eq '' && $field =~ /^(1800|1300)/){
+       $cdr->charged_party($field);
+       $cdr->accountcode($field);
+       }
     },
     'uniqueid',   # 4. Record ID
-    'dcontext',   # 5. Call Category (LOCAL, NATIONAL, FREECALL, MOBILE)
+    sub {         # 5. Call Category (LOCAL, NATIONAL, FREECALL, MOBILE)
+      my ($cdr, $data) = @_;
+      $data ||= 'none';
+
+      my $cdr_type = qsearchs('cdr_type', { 'cdrtypename' => $data } );
+      $cdr->set('cdrtypenum', $cdr_type->cdrtypenum) if $cdr_type;      
+      $cdr->set('dcontext', $data);  
+    },
     sub {         # 6. Start Date (DDMMYYYY
       my ($cdr, $date) = @_;
       $date =~ /^(\d{2})(\d{2})(\d{4})$/