(change, remove): change StockMovemend model field project_folder -> null=True, remove StockMovemend file field
This commit is contained in:
@@ -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'),
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -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',
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -28,15 +28,14 @@ class StockMovemend(BaseModel):
|
|||||||
User, on_delete=models.SET_NULL, related_name='stock_movmends', null=True, blank=True
|
User, on_delete=models.SET_NULL, related_name='stock_movmends', null=True, blank=True
|
||||||
)
|
)
|
||||||
project_folder = models.ForeignKey(
|
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 = 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')
|
movemend_type = models.CharField(max_length=20, choices=TYPE, default='EXPECTED')
|
||||||
date = models.DateField(null=True, blank=True)
|
date = models.DateField(null=True, blank=True)
|
||||||
comment = models.TextField(null=True, blank=True)
|
comment = models.TextField(null=True, blank=True)
|
||||||
file = models.FileField(null=True, blank=True)
|
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return f'{self.wherehouse_from} to {self.wherehouse_to}'
|
return f'{self.wherehouse_from} to {self.wherehouse_to}'
|
||||||
|
|||||||
@@ -25,14 +25,15 @@ class StockMovmendCreateSerializer(serializers.Serializer):
|
|||||||
project_id = serializers.UUIDField(required=False)
|
project_id = serializers.UUIDField(required=False)
|
||||||
wherehouse_to_id = serializers.UUIDField()
|
wherehouse_to_id = serializers.UUIDField()
|
||||||
wherehouse_from_id = serializers.UUIDField()
|
wherehouse_from_id = serializers.UUIDField()
|
||||||
date = serializers.DateField()
|
date = serializers.DateField(required=False)
|
||||||
comment = serializers.CharField(required=False)
|
comment = serializers.CharField(required=False)
|
||||||
file = serializers.FileField(required=False)
|
|
||||||
|
|
||||||
def validate(self, data):
|
def validate(self, data):
|
||||||
project_folder = ProjectFolder.objects.filter(id=data['project_folder_id']).first()
|
if data.get('project_folder_id'):
|
||||||
if not project_folder:
|
project_folder = ProjectFolder.objects.filter(id=data['project_folder_id']).first()
|
||||||
raise serializers.ValidationError("Project Folder not found")
|
if not project_folder:
|
||||||
|
raise serializers.ValidationError("Project Folder not found")
|
||||||
|
data['project_folder'] = project_folder
|
||||||
if data.get('project_id'):
|
if data.get('project_id'):
|
||||||
project = Project.objects.filter(id=data['project_id']).first()
|
project = Project.objects.filter(id=data['project_id']).first()
|
||||||
if not project:
|
if not project:
|
||||||
@@ -44,7 +45,6 @@ class StockMovmendCreateSerializer(serializers.Serializer):
|
|||||||
wherehouse_from = WhereHouse.objects.filter(id=data['wherehouse_from_id']).first()
|
wherehouse_from = WhereHouse.objects.filter(id=data['wherehouse_from_id']).first()
|
||||||
if not wherehouse_from:
|
if not wherehouse_from:
|
||||||
raise serializers.ValidationError("WhereHouse from not found")
|
raise serializers.ValidationError("WhereHouse from not found")
|
||||||
data['project_folder'] = project_folder
|
|
||||||
data['wherehouse_to'] = wherehouse_to
|
data['wherehouse_to'] = wherehouse_to
|
||||||
data['wherehouse_from'] = wherehouse_from
|
data['wherehouse_from'] = wherehouse_from
|
||||||
return data
|
return data
|
||||||
@@ -57,7 +57,6 @@ class StockMovmendCreateSerializer(serializers.Serializer):
|
|||||||
project=validated_data.get('project'),
|
project=validated_data.get('project'),
|
||||||
date=validated_data.get('date'),
|
date=validated_data.get('date'),
|
||||||
comment=validated_data.get('comment'),
|
comment=validated_data.get('comment'),
|
||||||
file=validated_data.get('file'),
|
|
||||||
wherehouse_to=validated_data.get('wherehouse_to'),
|
wherehouse_to=validated_data.get('wherehouse_to'),
|
||||||
wherehouse_from=validated_data.get('wherehouse_from'),
|
wherehouse_from=validated_data.get('wherehouse_from'),
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user