Skip to content

Commit

Permalink
Merge b097db6 into 22f9a0a
Browse files Browse the repository at this point in the history
  • Loading branch information
abadojack committed Dec 20, 2018
2 parents 22f9a0a + b097db6 commit 4448257
Showing 1 changed file with 25 additions and 3 deletions.
28 changes: 25 additions & 3 deletions authors/apps/article/serializers.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from authors.apps.profiles.serializers import ProfileListSerializer
'''Serializers allow complex data
such as querysets and model instances
to be converted to
Expand All @@ -11,8 +12,12 @@

from authors.apps.profiles.models import UserProfile

from .models import RateArticle, Comments, CommentHistory, Favorite
from authors.apps.profiles.serializers import ProfileListSerializer
from .models import (
RateArticle,
Comments,
CommentHistory,
Favorite,
LikeDislikeArticle)

TABLE = apps.get_model('article', 'Article')
Profile = apps.get_model('profiles', 'UserProfile')
Expand All @@ -37,6 +42,8 @@ class ArticleSerializer(serializers.ModelSerializer):
Linkedin = serializers.SerializerMethodField(read_only=True)
twitter = serializers.SerializerMethodField(read_only=True)
mail = serializers.SerializerMethodField(read_only=True)
likes = serializers.SerializerMethodField(read_only=True)
dislikes = serializers.SerializerMethodField(read_only=True)

update_url = serializers.HyperlinkedIdentityField(
view_name=NAMESPACE + ':update', lookup_field='slug')
Expand Down Expand Up @@ -77,6 +84,18 @@ def get_mail(self, obj):
return 'mailto:?subject=New Article Alert&body={}'.format(
obj.api_url(request=request))

def get_likes(self, obj):
return LikeDislikeArticle.objects.filter(
article=obj, is_liked=True).count()

def get_dislikes(self, obj):
dislikes = LikeDislikeArticle.objects.filter(
article=obj, is_disliked=True)
return dislikes.count()

def get_comments(self, obj):
return Comments.objects.filter(article__id=obj.id).count()

class Meta:
model = TABLE

Expand All @@ -85,7 +104,10 @@ class Meta:
'twitter',
'mail',
'url',
'favorited')
'favorited',
'likes',
'dislikes',
'comments')

def get_author(self, obj):
try:
Expand Down

0 comments on commit 4448257

Please sign in to comment.