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 | 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') | ... | ... |