|
@@ -24,10 +24,11 @@ class TicketSerializer(BaseTicketSerializer):
|
|
|
|
|
|
class Meta():
|
|
|
model = Ticket
|
|
|
- exclude = ["updated_at"]
|
|
|
+ fields = "__all__"
|
|
|
|
|
|
|
|
|
class TicketDetailSerializer(BaseTicketSerializer):
|
|
|
+ ticket_type = serializers.IntegerField(read_only=True)
|
|
|
available_statuses = serializers.SerializerMethodField()
|
|
|
|
|
|
def get_available_statuses(self, obj):
|
|
@@ -45,6 +46,12 @@ class TicketStatusSerializer(BaseTicketSerializer):
|
|
|
def get_available_statuses(self, obj):
|
|
|
return obj.get_available_statuses()
|
|
|
|
|
|
+ def validate_status(self, status):
|
|
|
+ valid_statuses = self.get_available_statuses(self.instance)
|
|
|
+ if valid_statuses and status not in valid_statuses:
|
|
|
+ raise serializers.ValidationError("Invalid value for the status field")
|
|
|
+ return status
|
|
|
+
|
|
|
class Meta():
|
|
|
model = Ticket
|
|
|
fields = ["id", "available_statuses", "status"]
|