[Jifty-commit] r1149 - in jifty/trunk:
share/web/templates/__jifty/webservices
jifty-commit at lists.jifty.org
jifty-commit at lists.jifty.org
Fri Jun 2 18:34:48 EDT 2006
Author: alexmv
Date: Fri Jun 2 18:34:48 2006
New Revision: 1149
Modified:
jifty/trunk/ (props changed)
jifty/trunk/share/web/templates/__jifty/webservices/xml
Log:
r13417 at zoq-fot-pik: chmrr | 2006-06-02 18:34:37 -0400
* XML::Simple doesn't deal with circular data structures, like
Jifty::DBI objects
Modified: jifty/trunk/share/web/templates/__jifty/webservices/xml
==============================================================================
--- jifty/trunk/share/web/templates/__jifty/webservices/xml (original)
+++ jifty/trunk/share/web/templates/__jifty/webservices/xml Fri Jun 2 18:34:48 2006
@@ -60,9 +60,20 @@
$writer->endTag();
}
+ # XXX TODO: Hack because we don't have a good way to serialize
+ # Jifty::DBI::Record's yet, which are technically circular data
+ # structures at some level (current_user of a
+ # current_user->user_object is itself)
+ my $content = $results{$_}->content;
+ ref $content->{$_}
+ and ( $content->{$_}->isa("Jifty::DBI::Record")
+ or $content->{$_}->isa("Jifty::DBI::Collection") )
+ and delete $content->{$_}
+ for keys %{$content};
+
use XML::Simple;
- $writer->raw(XML::Simple::XMLout($results{$_}->content, NoAttr => 1, RootName => "content", NoIndent => 1))
- if keys %{$results{$_}->content};
+ $writer->raw(XML::Simple::XMLout($content, NoAttr => 1, RootName => "content", NoIndent => 1))
+ if keys %{$content};
$writer->endTag();
}
More information about the Jifty-commit
mailing list