better serialization on debugging data, RT#7514
authorivan <ivan>
Wed, 4 Aug 2010 01:15:51 +0000 (01:15 +0000)
committerivan <ivan>
Wed, 4 Aug 2010 01:15:51 +0000 (01:15 +0000)
FS/FS/part_export/communigate_pro.pm

index 3ac0dfd..76fd608 100644 (file)
@@ -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";