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."""
|
||||
from rest_framework import serializers
|
||||
|
||||
import establishment.serializers.common as establishment_serializers
|
||||
from comment.models import Comment
|
||||
from establishment.models import EstablishmentType
|
||||
|
||||
|
||||
class CommentBaseSerializer(serializers.ModelSerializer):
|
||||
|
|
@ -15,6 +17,11 @@ class CommentBaseSerializer(serializers.ModelSerializer):
|
|||
source='get_status_display')
|
||||
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:
|
||||
"""Serializer for model Comment"""
|
||||
model = Comment
|
||||
|
|
@ -30,7 +37,21 @@ class CommentBaseSerializer(serializers.ModelSerializer):
|
|||
'status',
|
||||
'status_display',
|
||||
'last_ip',
|
||||
'content_type',
|
||||
'content_name',
|
||||
'user_email'
|
||||
]
|
||||
extra_kwargs = {
|
||||
'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 comment.serializers import CommentBaseSerializer
|
||||
from rest_framework import generics
|
||||
|
||||
from comment import models
|
||||
from utils.permissions import IsCommentModerator, IsCountryAdmin
|
||||
from comment.serializers import CommentBaseSerializer
|
||||
from utils.permissions import IsCommentModerator
|
||||
|
||||
|
||||
class CommentLstView(generics.ListCreateAPIView):
|
||||
"""Comment list create view."""
|
||||
serializer_class = CommentBaseSerializer
|
||||
queryset = models.Comment.objects.all()
|
||||
|
||||
# permission_classes = [permissions.IsAuthenticatedOrReadOnly| IsCommentModerator|IsCountryAdmin]
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user