Commit 00160d3a5cd32aa28140cbfc56937ae87cc0ef22

Authored by vitor-amartins
1 parent 271df58d

trying to get favorite messages to app

Showing 2 changed files with 14 additions and 3 deletions   Show diff stats
api/views.py
... ... @@ -312,7 +312,7 @@ class ChatViewset(viewsets.ModelViewSet, LogMixin):
312 312  
313 313 messages = TalkMessages.objects.filter((Q(talk__user_one__email = username) & Q(talk__user_two__email = user_two)) | (Q(talk__user_one__email = user_two) & Q(talk__user_two__email = username))).order_by('-create_date')
314 314  
315   - serializer = ChatSerializer(messages, many = True)
  315 + serializer = ChatSerializer(messages, many = True, context = {"request_user": username})
316 316  
317 317 json_r = json.dumps(serializer.data)
318 318 json_r = json.loads(json_r)
... ...
chat/serializers.py
1 1 from rest_framework import serializers
2 2  
3   -from .models import TalkMessages
  3 +from django.db.models import Q
  4 +
  5 +from .models import TalkMessages, ChatFavorites
4 6  
5 7 from subjects.serializers import SubjectSerializer
6 8 from users.serializers import UserSerializer
... ... @@ -8,7 +10,16 @@ from users.serializers import UserSerializer
8 10 class ChatSerializer(serializers.ModelSerializer):
9 11 user = UserSerializer()
10 12 subject = SubjectSerializer()
  13 + favorite = serializers.SerializerMethodField()
  14 +
  15 + def get_favorite(self, message):
  16 + user = self.context.get("request_user", None)
  17 +
  18 + if not user is None:
  19 + return ChatFavorites.objects.filter(Q(user__email = user) & Q(message = message)).exists()
  20 +
  21 + return False
11 22  
12 23 class Meta:
13 24 model = TalkMessages
14   - fields = ('text', 'user', 'subject', 'image_url', 'create_date', )
  25 + fields = ('text', 'user', 'subject', 'image_url', 'create_date', 'favorite')
... ...