diff --git a/app/serializers/post_wordpress_serializer.rb b/app/serializers/post_wordpress_serializer.rb new file mode 100644 index 00000000000..c237d1cba40 --- /dev/null +++ b/app/serializers/post_wordpress_serializer.rb @@ -0,0 +1,14 @@ +# The most basic attributes of a topic that we need to create a link for it. +class PostWordpressSerializer < BasicPostSerializer + + include UrlHelper + + def avatar_template + if object.user + absolute object.user.avatar_template + else + nil + end + end + +end diff --git a/app/serializers/topic_view_wordpress_serializer.rb b/app/serializers/topic_view_wordpress_serializer.rb index c0cc5c8599a..0abd713e644 100644 --- a/app/serializers/topic_view_wordpress_serializer.rb +++ b/app/serializers/topic_view_wordpress_serializer.rb @@ -6,8 +6,8 @@ class TopicViewWordpressSerializer < ApplicationSerializer :filtered_posts_count, :posts - has_many :participants, serializer: BasicUserSerializer, embed: :objects - has_many :posts, serializer: BasicPostSerializer, embed: :objects + has_many :participants, serializer: UserWordpressSerializer, embed: :objects + has_many :posts, serializer: PostWordpressSerializer, embed: :objects def id object.topic.id diff --git a/app/serializers/user_wordpress_serializer.rb b/app/serializers/user_wordpress_serializer.rb new file mode 100644 index 00000000000..7e121b82f7d --- /dev/null +++ b/app/serializers/user_wordpress_serializer.rb @@ -0,0 +1,13 @@ +class UserWordpressSerializer < BasicUserSerializer + + include UrlHelper + + def avatar_template + if Hash === object + absolute User.avatar_template(user[:username], user[:uploaded_avatar_id]) + else + absolute object.avatar_template + end + end + +end diff --git a/spec/controllers/topics_controller_spec.rb b/spec/controllers/topics_controller_spec.rb index 3f2c72d520d..432f83376ea 100644 --- a/spec/controllers/topics_controller_spec.rb +++ b/spec/controllers/topics_controller_spec.rb @@ -24,7 +24,7 @@ describe TopicsController do post = json['posts'][0] post['id'].should == p2.id post['username'].should == user.username - post['avatar_template'].should == user.avatar_template + post['avatar_template'].should == "#{Discourse.base_url_no_prefix}#{user.avatar_template}" post['name'].should == user.name post['created_at'].should be_present post['cooked'].should == p2.cooked @@ -34,7 +34,7 @@ describe TopicsController do participant = json['participants'][0] participant['id'].should == user.id participant['username'].should == user.username - participant['avatar_template'].should == user.avatar_template + participant['avatar_template'].should == "#{Discourse.base_url_no_prefix}#{user.avatar_template}" end end