mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-27 02:47:04 -05:00
28 lines
874 B
Python
28 lines
874 B
Python
from rest_framework import serializers
|
|
from .models import Ticket
|
|
from apps.accounts.serializers import UserSerializer
|
|
|
|
class TicketSerializer(serializers.ModelSerializer):
|
|
user = UserSerializer(read_only=True)
|
|
|
|
class Meta:
|
|
model = Ticket
|
|
fields = [
|
|
"id",
|
|
"user",
|
|
"subject",
|
|
"message",
|
|
"email",
|
|
"status",
|
|
"created_at",
|
|
"updated_at",
|
|
]
|
|
read_only_fields = ["id", "status", "created_at", "updated_at", "user"]
|
|
|
|
def validate(self, data):
|
|
# Ensure email is provided if user is anonymous
|
|
request = self.context.get('request')
|
|
if request and not request.user.is_authenticated and not data.get('email'):
|
|
raise serializers.ValidationError({"email": "Email is required for guests."})
|
|
return data
|