diff --git a/backend/ticket/serializers.py b/backend/ticket/serializers.py index 4f6f91d..7dc19d4 100644 --- a/backend/ticket/serializers.py +++ b/backend/ticket/serializers.py @@ -21,6 +21,16 @@ class AttachmentSerializer(serializers.ModelSerializer): return obj.file.url class MessageSerializer(serializers.ModelSerializer): + is_user = serializers.SerializerMethodField(read_only=True) + class Meta: + model = Message + exclude = ('sender', ) + extra_kwargs = {'ticket': {'write_only': True}} + def get_is_user(self, obj): + user = self.context['request'].user + return user == obj.sender + +class MessageAttachmentSerializer(serializers.ModelSerializer): is_user = serializers.SerializerMethodField(read_only=True) attachments = AttachmentSerializer(many=True, read_only=True) class Meta: @@ -38,7 +48,7 @@ class MessageForTicketSerializer(serializers.ModelSerializer): class TicketSerializer(serializers.ModelSerializer): status = serializers.SerializerMethodField() ticket_category = serializers.SerializerMethodField() - messages = MessageSerializer(many=True, read_only=True) + messages = MessageAttachmentSerializer(many=True, read_only=True) message = MessageForTicketSerializer(write_only=True) order_id = serializers.PrimaryKeyRelatedField(queryset=OrderModel.objects.all(), write_only=True, source='order') order = OrderSerializer(read_only=True)