From a6f479d7b7a06816015d97b3a066b980deca0fc9 Mon Sep 17 00:00:00 2001 From: behruz-dev Date: Fri, 29 Aug 2025 09:50:33 +0500 Subject: [PATCH] (change, remove): change StockMovemend model field project_folder -> null=True, remove StockMovemend file field --- ...13_alter_stockmovemend_project_and_more.py | 25 +++++++++++++++++++ .../0014_remove_stockmovemend_file.py | 17 +++++++++++++ core/apps/wherehouse/models/stock_movemend.py | 5 ++-- .../wherehouse/serializers/stock_movmend.py | 13 +++++----- 4 files changed, 50 insertions(+), 10 deletions(-) create mode 100644 core/apps/wherehouse/migrations/0013_alter_stockmovemend_project_and_more.py create mode 100644 core/apps/wherehouse/migrations/0014_remove_stockmovemend_file.py diff --git a/core/apps/wherehouse/migrations/0013_alter_stockmovemend_project_and_more.py b/core/apps/wherehouse/migrations/0013_alter_stockmovemend_project_and_more.py new file mode 100644 index 0000000..09daa83 --- /dev/null +++ b/core/apps/wherehouse/migrations/0013_alter_stockmovemend_project_and_more.py @@ -0,0 +1,25 @@ +# Generated by Django 5.2.4 on 2025-08-29 09:48 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('projects', '0016_estimatework_employee_estimatework_end_date_and_more'), + ('wherehouse', '0012_alter_stockmovemend_recipient'), + ] + + operations = [ + migrations.AlterField( + model_name='stockmovemend', + name='project', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='stock_movmends', to='projects.project'), + ), + migrations.AlterField( + model_name='stockmovemend', + name='project_folder', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='stock_movmends', to='projects.projectfolder'), + ), + ] diff --git a/core/apps/wherehouse/migrations/0014_remove_stockmovemend_file.py b/core/apps/wherehouse/migrations/0014_remove_stockmovemend_file.py new file mode 100644 index 0000000..e7ee4ac --- /dev/null +++ b/core/apps/wherehouse/migrations/0014_remove_stockmovemend_file.py @@ -0,0 +1,17 @@ +# Generated by Django 5.2.4 on 2025-08-29 09:48 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('wherehouse', '0013_alter_stockmovemend_project_and_more'), + ] + + operations = [ + migrations.RemoveField( + model_name='stockmovemend', + name='file', + ), + ] diff --git a/core/apps/wherehouse/models/stock_movemend.py b/core/apps/wherehouse/models/stock_movemend.py index c7197c7..f66c8dd 100644 --- a/core/apps/wherehouse/models/stock_movemend.py +++ b/core/apps/wherehouse/models/stock_movemend.py @@ -28,15 +28,14 @@ class StockMovemend(BaseModel): User, on_delete=models.SET_NULL, related_name='stock_movmends', null=True, blank=True ) project_folder = models.ForeignKey( - ProjectFolder, on_delete=models.CASCADE, related_name='stock_movmends', null=True + ProjectFolder, on_delete=models.SET_NULL, related_name='stock_movmends', null=True, blank=True ) project = models.ForeignKey( - Project, on_delete=models.SET_NULL, related_name='stock_movmends', null=True + Project, on_delete=models.SET_NULL, related_name='stock_movmends', null=True, blank=True ) movemend_type = models.CharField(max_length=20, choices=TYPE, default='EXPECTED') date = models.DateField(null=True, blank=True) comment = models.TextField(null=True, blank=True) - file = models.FileField(null=True, blank=True) def __str__(self): return f'{self.wherehouse_from} to {self.wherehouse_to}' diff --git a/core/apps/wherehouse/serializers/stock_movmend.py b/core/apps/wherehouse/serializers/stock_movmend.py index 075bdae..75d5c23 100644 --- a/core/apps/wherehouse/serializers/stock_movmend.py +++ b/core/apps/wherehouse/serializers/stock_movmend.py @@ -25,14 +25,15 @@ class StockMovmendCreateSerializer(serializers.Serializer): project_id = serializers.UUIDField(required=False) wherehouse_to_id = serializers.UUIDField() wherehouse_from_id = serializers.UUIDField() - date = serializers.DateField() + date = serializers.DateField(required=False) comment = serializers.CharField(required=False) - file = serializers.FileField(required=False) def validate(self, data): - project_folder = ProjectFolder.objects.filter(id=data['project_folder_id']).first() - if not project_folder: - raise serializers.ValidationError("Project Folder not found") + if data.get('project_folder_id'): + project_folder = ProjectFolder.objects.filter(id=data['project_folder_id']).first() + if not project_folder: + raise serializers.ValidationError("Project Folder not found") + data['project_folder'] = project_folder if data.get('project_id'): project = Project.objects.filter(id=data['project_id']).first() if not project: @@ -44,7 +45,6 @@ class StockMovmendCreateSerializer(serializers.Serializer): wherehouse_from = WhereHouse.objects.filter(id=data['wherehouse_from_id']).first() if not wherehouse_from: raise serializers.ValidationError("WhereHouse from not found") - data['project_folder'] = project_folder data['wherehouse_to'] = wherehouse_to data['wherehouse_from'] = wherehouse_from return data @@ -57,7 +57,6 @@ class StockMovmendCreateSerializer(serializers.Serializer): project=validated_data.get('project'), date=validated_data.get('date'), comment=validated_data.get('comment'), - file=validated_data.get('file'), wherehouse_to=validated_data.get('wherehouse_to'), wherehouse_from=validated_data.get('wherehouse_from'), )