From 876a95ece211ff6478a609f5e99109957f66e477 Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Mon, 23 May 2022 14:43:39 -0700 Subject: [PATCH] obey otherPartyNamePresentationIndicator and deal with broadsoft's awful non-standard quoting, RT#86028, RT#81941 --- FS/FS/cdr/broadsoft.pm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/FS/FS/cdr/broadsoft.pm b/FS/FS/cdr/broadsoft.pm index d9530bb13..01755a8bf 100644 --- a/FS/FS/cdr/broadsoft.pm +++ b/FS/FS/cdr/broadsoft.pm @@ -23,6 +23,15 @@ use FS::cdr qw( _cdr_date_parser_maker _cdr_min_parser_maker ); sep_char => ',', disabled => 0, + row_callback => sub { + my $line = shift; + #try to deal with broadsoft's awful non-standard CSV escaping :/ + $line =~ s/\\,/ /g; # \, becomes just a space... not entirely accurate, + # but better than skewing data into the wrong fields + $line =~ s/\\\\/\\/g; # undo double backslashes? none in my test data + $line; + }, + import_fields => [ # 1: recordId @@ -119,7 +128,13 @@ use FS::cdr qw( _cdr_date_parser_maker _cdr_min_parser_maker ); #122: otherPartyName 'clid', - skip(23), #123-145 inclusive + #123: otherPartyNamePresentationIndicator + sub { + my( $cdr, $data ) = @_; + $cdr->clid( $data ) unless $data =~ /^Public$/i; + }, + + skip(22), #124-145 inclusive # 146: chargedNumber 'charged_party', -- 2.11.0