diff options
-rw-r--r-- | FS/FS/part_export/communigate_pro.pm | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/FS/FS/part_export/communigate_pro.pm b/FS/FS/part_export/communigate_pro.pm index 3ac0dfd9c..76fd60815 100644 --- a/FS/FS/part_export/communigate_pro.pm +++ b/FS/FS/part_export/communigate_pro.pm @@ -732,7 +732,11 @@ sub export_getsettings_svc_domain { { my $value = $effective_settings->{$key}; if ( ref($value) eq 'ARRAY' ) { - $effective_settings->{$key} = join(' ', @$value); + $effective_settings->{$key} = + join(' ', map { ref($_) ? '['.join(', ', @$_).']' : $_ } @$value ); + } elsif ( ref($value) eq 'HASH' ) { + $effective_settings->{$key} = + join(', ', map { "$_:".$value->{$_} } keys %$value ); } else { #XXX warn "serializing ". ref($value). " for table display not yet handled"; @@ -821,7 +825,11 @@ sub export_getsettings_svc_acct { { my $value = $effective_settings->{$key}; if ( ref($value) eq 'ARRAY' ) { - $effective_settings->{$key} = join(' ', @$value); + $effective_settings->{$key} = + join(' ', map { ref($_) ? '['.join(', ', @$_).']' : $_ } @$value ); + } elsif ( ref($value) eq 'HASH' ) { + $effective_settings->{$key} = + join(', ', map { "$_:".$value->{$_} } keys %$value ); } else { #XXX warn "serializing ". ref($value). " for table display not yet handled"; |