adding
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
from rest_framework import serializers
|
||||
|
||||
from apps.orders.models import Order, OrderStage, OrderStageLog
|
||||
|
||||
|
||||
class OrderStageSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = OrderStage
|
||||
fields = [
|
||||
"id",
|
||||
"label",
|
||||
"template",
|
||||
"sort_order",
|
||||
"requires_extra_input",
|
||||
"extra_input_label",
|
||||
"updated_at",
|
||||
]
|
||||
read_only_fields = ["updated_at"]
|
||||
|
||||
def validate_template(self, template):
|
||||
if template is None:
|
||||
return template
|
||||
request = self.context["request"]
|
||||
if template.user_id != request.user.id:
|
||||
raise serializers.ValidationError("این قالب متعلق به شما نیست.")
|
||||
return template
|
||||
|
||||
|
||||
class OrderStageLogSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = OrderStageLog
|
||||
fields = ["id", "stage", "stage_label", "message_body", "extra_input_value", "created_at"]
|
||||
read_only_fields = fields
|
||||
|
||||
|
||||
class OrderSerializer(serializers.ModelSerializer):
|
||||
current_stage_label = serializers.CharField(source="current_stage.label", read_only=True, default="")
|
||||
|
||||
class Meta:
|
||||
model = Order
|
||||
fields = [
|
||||
"id",
|
||||
"customer_name",
|
||||
"customer_phone",
|
||||
"tracking_code",
|
||||
"current_stage",
|
||||
"current_stage_label",
|
||||
"is_completed",
|
||||
"created_at",
|
||||
"updated_at",
|
||||
]
|
||||
read_only_fields = ["current_stage", "is_completed", "created_at", "updated_at"]
|
||||
Reference in New Issue
Block a user