Commit 00160d3a5cd32aa28140cbfc56937ae87cc0ef22
1 parent
271df58d
Exists in
master
and in
2 other branches
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,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') |