add: add new field for cash transaction create api
This commit is contained in:
@@ -6,6 +6,7 @@ from core.apps.finance.models import CashTransaction, CashTransactionFolder
|
|||||||
from core.apps.accounts.models import User
|
from core.apps.accounts.models import User
|
||||||
from core.apps.finance.models import PaymentType
|
from core.apps.finance.models import PaymentType
|
||||||
from core.apps.finance.serializers.payment_type import PaymentTypeSerializer
|
from core.apps.finance.serializers.payment_type import PaymentTypeSerializer
|
||||||
|
from core.apps.projects.models import Project
|
||||||
|
|
||||||
|
|
||||||
class CashTransactionEmployeeListSerializer(serializers.ModelSerializer):
|
class CashTransactionEmployeeListSerializer(serializers.ModelSerializer):
|
||||||
@@ -43,6 +44,7 @@ class CashTransactionCreateSerializer(serializers.Serializer):
|
|||||||
name = serializers.CharField()
|
name = serializers.CharField()
|
||||||
status = serializers.BooleanField()
|
status = serializers.BooleanField()
|
||||||
folder_id = serializers.UUIDField(required=False)
|
folder_id = serializers.UUIDField(required=False)
|
||||||
|
project_ids = serializers.ListField(child=serializers.UUIDField(required=False), required=False)
|
||||||
|
|
||||||
def validate_name(self, value):
|
def validate_name(self, value):
|
||||||
if CashTransaction.objects.filter(name=value).exists():
|
if CashTransaction.objects.filter(name=value).exists():
|
||||||
@@ -66,6 +68,11 @@ class CashTransactionCreateSerializer(serializers.Serializer):
|
|||||||
status=validated_data.get('status'),
|
status=validated_data.get('status'),
|
||||||
folder=validated_data.get('folder')
|
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.employees.set(employee_ids)
|
||||||
cash_transaction.payment_type.set(payment_type_ids)
|
cash_transaction.payment_type.set(payment_type_ids)
|
||||||
cash_transaction.save()
|
cash_transaction.save()
|
||||||
|
|||||||
Reference in New Issue
Block a user