fix: update order submit_time ignore
This commit is contained in:
parent
450381d7fb
commit
177aeb4bed
|
@ -5,6 +5,7 @@ from apps.utils.constants import EXCLUDE_FIELDS, EXCLUDE_FIELDS_BASE
|
||||||
from rest_framework.exceptions import ValidationError
|
from rest_framework.exceptions import ValidationError
|
||||||
from apps.mtm.serializers import MaterialSerializer
|
from apps.mtm.serializers import MaterialSerializer
|
||||||
|
|
||||||
|
|
||||||
class CustomerSerializer(CustomModelSerializer):
|
class CustomerSerializer(CustomModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Customer
|
model = Customer
|
||||||
|
@ -23,7 +24,8 @@ class OrderSerializer(CustomModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Order
|
model = Order
|
||||||
fields = '__all__'
|
fields = '__all__'
|
||||||
read_only_fields = EXCLUDE_FIELDS + ['belong_dept', 'state']
|
read_only_fields = EXCLUDE_FIELDS + \
|
||||||
|
['belong_dept', 'state', 'submit_time']
|
||||||
|
|
||||||
def validate(self, attrs):
|
def validate(self, attrs):
|
||||||
contract = attrs.get('contract', None)
|
contract = attrs.get('contract', None)
|
||||||
|
@ -32,15 +34,17 @@ class OrderSerializer(CustomModelSerializer):
|
||||||
if attrs.get('customer', None) is None:
|
if attrs.get('customer', None) is None:
|
||||||
raise ValidationError('未选择客户')
|
raise ValidationError('未选择客户')
|
||||||
return attrs
|
return attrs
|
||||||
|
|
||||||
def update(self, instance, validated_data):
|
def update(self, instance, validated_data):
|
||||||
if instance.state != Order.ORDER_CREATE:
|
if instance.state != Order.ORDER_CREATE:
|
||||||
raise ValidationError('订单信息不可编辑')
|
raise ValidationError('订单信息不可编辑')
|
||||||
return super().update(instance, validated_data)
|
return super().update(instance, validated_data)
|
||||||
|
|
||||||
|
|
||||||
class OrderItemSerializer(CustomModelSerializer):
|
class OrderItemSerializer(CustomModelSerializer):
|
||||||
material_ = MaterialSerializer(source='material', read_only=True)
|
material_ = MaterialSerializer(source='material', read_only=True)
|
||||||
order_ = OrderSerializer(source='order', read_only=True)
|
order_ = OrderSerializer(source='order', read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = OrderItem
|
model = OrderItem
|
||||||
fields = '__all__'
|
fields = '__all__'
|
||||||
|
@ -51,15 +55,15 @@ class OrderItemSerializer(CustomModelSerializer):
|
||||||
if order.state != Order.ORDER_CREATE:
|
if order.state != Order.ORDER_CREATE:
|
||||||
raise ValidationError('该订单状态下不可创建')
|
raise ValidationError('该订单状态下不可创建')
|
||||||
return attrs
|
return attrs
|
||||||
|
|
||||||
def create(self, validated_data):
|
def create(self, validated_data):
|
||||||
order = validated_data['order']
|
order = validated_data['order']
|
||||||
material = validated_data['material']
|
material = validated_data['material']
|
||||||
if OrderItem.objects.filter(order=order, material=material).exists():
|
if OrderItem.objects.filter(order=order, material=material).exists():
|
||||||
raise ValidationError('该产品已选择!')
|
raise ValidationError('该产品已选择!')
|
||||||
return super().create(validated_data)
|
return super().create(validated_data)
|
||||||
|
|
||||||
def update(self, instance, validated_data):
|
def update(self, instance, validated_data):
|
||||||
validated_data.pop('product', None)
|
validated_data.pop('product', None)
|
||||||
validated_data.pop('order', None)
|
validated_data.pop('order', None)
|
||||||
return super().update(instance, validated_data)
|
return super().update(instance, validated_data)
|
||||||
|
|
Loading…
Reference in New Issue