add: add new field to InvalidProduct model

This commit is contained in:
behruz-dev
2025-08-27 16:12:01 +05:00
parent dad1d5ede8
commit 992fdf8390
3 changed files with 51 additions and 6 deletions

View File

@@ -14,7 +14,7 @@ class InvalidProductCreateSerializer(serializers.Serializer):
witnesses_ids = serializers.ListField(child=serializers.UUIDField())
work_id = serializers.UUIDField(required=False)
amount = serializers.IntegerField()
status = serializers.ChoiceField(choices=InvalidProduct.STATUS)
status = serializers.ChoiceField(choices=InvalidProduct.INVALID_STATUS)
created_date = serializers.DateField(required=False)
expiry_date = serializers.DateField(required=False)
comment = serializers.CharField(required=False)
@@ -49,6 +49,7 @@ class InvalidProductCreateSerializer(serializers.Serializer):
expiry_date=validated_data.get('expiry_date'),
comment=validated_data.get('comment'),
file=validated_data.get('file'),
wherehouse=validated_data.get('inventory').wherehouse
)
invalid_product.witnesses.set(witnesses_ids)
invalid_product.inventory.is_invalid = True
@@ -62,16 +63,23 @@ class InvliadProductListSerializer(serializers.ModelSerializer):
inventory = InventoryListSerializer()
project_folder = serializers.SerializerMethodField(method_name='get_folder')
witnesses = UserListSerializer(many=True)
wherehouse = serializers.SerializerMethodField(method_name='get_wherehouse')
class Meta:
model = InvalidProduct
fields = [
'id', 'status', 'inventory', 'project_folder', 'witnesses', 'work', 'amount',
'created_date', 'expiry_date', 'comment', 'file'
'id', 'status', 'invalid_status', 'inventory', 'project_folder', 'witnesses', 'work',
'amount', 'created_date', 'expiry_date', 'comment', 'file', 'wherehouse'
]
def get_folder(self, obj):
return {
'id': obj.project_folder.id,
'name': obj.project_folder.name,
}
}
def get_wherehouse(self, obj):
return {
'id': obj.wherehouse.id,
'name': obj.wherehouse.name
} if obj.wherehouse else None