Merge branch 'bugs/comment-fields' into 'develop'
Added fields to comments See merge request gm/gm-backend!229
This commit is contained in:
commit
de50d6491f
|
|
@ -1,7 +1,9 @@
|
||||||
"""Common serializers for app comment."""
|
"""Common serializers for app comment."""
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
|
||||||
|
import establishment.serializers.common as establishment_serializers
|
||||||
from comment.models import Comment
|
from comment.models import Comment
|
||||||
|
from establishment.models import EstablishmentType
|
||||||
|
|
||||||
|
|
||||||
class CommentBaseSerializer(serializers.ModelSerializer):
|
class CommentBaseSerializer(serializers.ModelSerializer):
|
||||||
|
|
@ -15,6 +17,11 @@ class CommentBaseSerializer(serializers.ModelSerializer):
|
||||||
source='get_status_display')
|
source='get_status_display')
|
||||||
last_ip = serializers.IPAddressField(read_only=True, source='user.last_ip')
|
last_ip = serializers.IPAddressField(read_only=True, source='user.last_ip')
|
||||||
|
|
||||||
|
content_type = serializers.SerializerMethodField(read_only=True)
|
||||||
|
content_name = serializers.CharField(read_only=True, source='content_object.name')
|
||||||
|
|
||||||
|
user_email = serializers.CharField(read_only=True, source='user.email')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
"""Serializer for model Comment"""
|
"""Serializer for model Comment"""
|
||||||
model = Comment
|
model = Comment
|
||||||
|
|
@ -30,7 +37,21 @@ class CommentBaseSerializer(serializers.ModelSerializer):
|
||||||
'status',
|
'status',
|
||||||
'status_display',
|
'status_display',
|
||||||
'last_ip',
|
'last_ip',
|
||||||
|
'content_type',
|
||||||
|
'content_name',
|
||||||
|
'user_email'
|
||||||
]
|
]
|
||||||
extra_kwargs = {
|
extra_kwargs = {
|
||||||
'status': {'read_only': True},
|
'status': {'read_only': True},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def get_content_type(self, instance: Comment):
|
||||||
|
if instance.content_object.establishment_type == EstablishmentType.PRODUCER:
|
||||||
|
return establishment_serializers.EstablishmentSubTypeBaseSerializer(
|
||||||
|
instance.content_object.establishment_subtypes, many=True
|
||||||
|
).data
|
||||||
|
|
||||||
|
return establishment_serializers.EstablishmentTypeBaseSerializer(
|
||||||
|
instance.content_object.establishment_type
|
||||||
|
).data
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,15 @@
|
||||||
from rest_framework import generics, permissions
|
from rest_framework import generics
|
||||||
from comment.serializers import CommentBaseSerializer
|
|
||||||
from comment import models
|
from comment import models
|
||||||
from utils.permissions import IsCommentModerator, IsCountryAdmin
|
from comment.serializers import CommentBaseSerializer
|
||||||
|
from utils.permissions import IsCommentModerator
|
||||||
|
|
||||||
|
|
||||||
class CommentLstView(generics.ListCreateAPIView):
|
class CommentLstView(generics.ListCreateAPIView):
|
||||||
"""Comment list create view."""
|
"""Comment list create view."""
|
||||||
serializer_class = CommentBaseSerializer
|
serializer_class = CommentBaseSerializer
|
||||||
queryset = models.Comment.objects.all()
|
queryset = models.Comment.objects.all()
|
||||||
|
|
||||||
# permission_classes = [permissions.IsAuthenticatedOrReadOnly| IsCommentModerator|IsCountryAdmin]
|
# permission_classes = [permissions.IsAuthenticatedOrReadOnly| IsCommentModerator|IsCountryAdmin]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user