fix
This commit is contained in:
@@ -0,0 +1,20 @@
|
|||||||
|
# Generated by Django 5.2.4 on 2025-08-19 17:19
|
||||||
|
|
||||||
|
import django.db.models.deletion
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('orders', '0006_offer_price_type'),
|
||||||
|
('projects', '0016_estimatework_employee_estimatework_end_date_and_more'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='order',
|
||||||
|
name='project_folder',
|
||||||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='order', to='projects.projectfolder'),
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -22,7 +22,7 @@ class Order(BaseModel):
|
|||||||
Unity, on_delete=models.CASCADE, related_name='orders'
|
Unity, on_delete=models.CASCADE, related_name='orders'
|
||||||
)
|
)
|
||||||
project_folder = models.ForeignKey(
|
project_folder = models.ForeignKey(
|
||||||
ProjectFolder, on_delete=models.CASCADE, related_name='order', null=True
|
ProjectFolder, on_delete=models.SET_NULL, related_name='order', null=True, blank=True
|
||||||
)
|
)
|
||||||
project = models.ForeignKey(
|
project = models.ForeignKey(
|
||||||
Project, on_delete=models.SET_NULL, related_name='orders', null=True, blank=True
|
Project, on_delete=models.SET_NULL, related_name='orders', null=True, blank=True
|
||||||
|
|||||||
@@ -22,14 +22,13 @@ class OrderCreateSerializer(serializers.Serializer):
|
|||||||
quantity = serializers.IntegerField()
|
quantity = serializers.IntegerField()
|
||||||
wherehouse_id = serializers.UUIDField()
|
wherehouse_id = serializers.UUIDField()
|
||||||
project_id = serializers.UUIDField(required=False)
|
project_id = serializers.UUIDField(required=False)
|
||||||
project_folder_id = serializers.UUIDField()
|
project_folder_id = serializers.UUIDField(required=False)
|
||||||
|
|
||||||
def validate(self, data):
|
def validate(self, data):
|
||||||
try:
|
try:
|
||||||
product = Product.objects.get(id=data['product_id'])
|
product = Product.objects.get(id=data['product_id'])
|
||||||
unity = Unity.objects.get(id=data['unity_id'])
|
unity = Unity.objects.get(id=data['unity_id'])
|
||||||
wherehouse = WhereHouse.objects.get(id=data['wherehouse_id'])
|
wherehouse = WhereHouse.objects.get(id=data['wherehouse_id'])
|
||||||
project_folder = ProjectFolder.objects.get(id=data['project_folder_id'])
|
|
||||||
if data.get('project_id'):
|
if data.get('project_id'):
|
||||||
Project.objects.get(
|
Project.objects.get(
|
||||||
id=data['project_id']
|
id=data['project_id']
|
||||||
@@ -40,34 +39,24 @@ class OrderCreateSerializer(serializers.Serializer):
|
|||||||
raise serializers.ValidationError("Unity not found")
|
raise serializers.ValidationError("Unity not found")
|
||||||
except WhereHouse.DoesNotExist:
|
except WhereHouse.DoesNotExist:
|
||||||
raise serializers.ValidationError("Where House not found")
|
raise serializers.ValidationError("Where House not found")
|
||||||
except ProjectFolder.DoesNotExist:
|
|
||||||
raise serializers.ValidationError("Project Folder not found")
|
|
||||||
try:
|
try:
|
||||||
if data.get('project_id'):
|
if data.get('project_id'):
|
||||||
data['project'] = Project.objects.get(id=data['project_id'])
|
data['project'] = Project.objects.get(id=data['project_id'])
|
||||||
except Project.DoesNotExist:
|
except Project.DoesNotExist:
|
||||||
raise serializers.ValidationError("Project not found")
|
raise serializers.ValidationError("Project not found")
|
||||||
|
if data.get('project_folder_id'):
|
||||||
|
try:
|
||||||
|
project_folder = ProjectFolder.objects.get(id=data['project_folder_id'])
|
||||||
|
|
||||||
|
except ProjectFolder.DoesNotExist:
|
||||||
|
raise serializers.ValidationError("Project Folder not found")
|
||||||
|
data['project_folder'] = project_folder
|
||||||
|
|
||||||
data['product'] = product
|
data['product'] = product
|
||||||
data['unity'] = unity
|
data['unity'] = unity
|
||||||
data['wherehouse'] = wherehouse
|
data['wherehouse'] = wherehouse
|
||||||
data['project_folder'] = project_folder
|
|
||||||
return data
|
return data
|
||||||
|
|
||||||
# def create(self, validated_data):
|
|
||||||
# with transaction.atomic():
|
|
||||||
# order = Order.objects.create(
|
|
||||||
# product=validated_data.get('product'),
|
|
||||||
# unity=validated_data.get('unity'),
|
|
||||||
# wherehouse=validated_data.get('wherehouse'),
|
|
||||||
# project_folder=validated_data.get('project_folder'),
|
|
||||||
# project=validated_data.get('project'),
|
|
||||||
# quantity=validated_data.get('quantity'),
|
|
||||||
# date=validated_data.get('date'),
|
|
||||||
# employee=self.context.get('user'),
|
|
||||||
# )
|
|
||||||
# return order
|
|
||||||
|
|
||||||
|
|
||||||
class MultipleOrderCreateSerializer(serializers.Serializer):
|
class MultipleOrderCreateSerializer(serializers.Serializer):
|
||||||
resources = OrderCreateSerializer(many=True)
|
resources = OrderCreateSerializer(many=True)
|
||||||
@@ -84,7 +73,7 @@ class MultipleOrderCreateSerializer(serializers.Serializer):
|
|||||||
product=resource['product'],
|
product=resource['product'],
|
||||||
unity=resource['unity'],
|
unity=resource['unity'],
|
||||||
wherehouse=resource['wherehouse'],
|
wherehouse=resource['wherehouse'],
|
||||||
project_folder=resource['project_folder'],
|
project_folder=resource.get('project_folder'),
|
||||||
project=resource.get('project'),
|
project=resource.get('project'),
|
||||||
quantity=resource['quantity'],
|
quantity=resource['quantity'],
|
||||||
date=common_date,
|
date=common_date,
|
||||||
|
|||||||
Reference in New Issue
Block a user