diff --git a/core/apps/finance/serializers/cash_transaction.py b/core/apps/finance/serializers/cash_transaction.py index a364366..09aa831 100644 --- a/core/apps/finance/serializers/cash_transaction.py +++ b/core/apps/finance/serializers/cash_transaction.py @@ -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()