add: add new field for cash transaction create api

This commit is contained in:
behruz-dev
2025-09-29 16:46:12 +05:00
parent c37c36582e
commit a76d84f042

View File

@@ -6,6 +6,7 @@ from core.apps.finance.models import CashTransaction, CashTransactionFolder
from core.apps.accounts.models import User
from core.apps.finance.models import PaymentType
from core.apps.finance.serializers.payment_type import PaymentTypeSerializer
from core.apps.projects.models import Project
class CashTransactionEmployeeListSerializer(serializers.ModelSerializer):
@@ -43,6 +44,7 @@ class CashTransactionCreateSerializer(serializers.Serializer):
name = serializers.CharField()
status = serializers.BooleanField()
folder_id = serializers.UUIDField(required=False)
project_ids = serializers.ListField(child=serializers.UUIDField(required=False), required=False)
def validate_name(self, value):
if CashTransaction.objects.filter(name=value).exists():
@@ -66,6 +68,11 @@ class CashTransactionCreateSerializer(serializers.Serializer):
status=validated_data.get('status'),
folder=validated_data.get('folder')
)
if validated_data.get('project_ids'):
projects = Project.objects.filter(id__in=validated_data.get('project_ids'))
for project in projects:
project.cash_transaction.add(cash_transaction)
project.save()
cash_transaction.employees.set(employee_ids)
cash_transaction.payment_type.set(payment_type_ids)
cash_transaction.save()