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
@@ -312,7 +312,7 @@ class ChatViewset(viewsets.ModelViewSet, LogMixin): @@ -312,7 +312,7 @@ class ChatViewset(viewsets.ModelViewSet, LogMixin):
312 312
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') 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 json_r = json.dumps(serializer.data) 317 json_r = json.dumps(serializer.data)
318 json_r = json.loads(json_r) 318 json_r = json.loads(json_r)
chat/serializers.py
1 from rest_framework import serializers 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 from subjects.serializers import SubjectSerializer 7 from subjects.serializers import SubjectSerializer
6 from users.serializers import UserSerializer 8 from users.serializers import UserSerializer
@@ -8,7 +10,16 @@ from users.serializers import UserSerializer @@ -8,7 +10,16 @@ from users.serializers import UserSerializer
8 class ChatSerializer(serializers.ModelSerializer): 10 class ChatSerializer(serializers.ModelSerializer):
9 user = UserSerializer() 11 user = UserSerializer()
10 subject = SubjectSerializer() 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 class Meta: 23 class Meta:
13 model = TalkMessages 24 model = TalkMessages
14 - fields = ('text', 'user', 'subject', 'image_url', 'create_date', ) 25 + fields = ('text', 'user', 'subject', 'image_url', 'create_date', 'favorite')