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.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()
|
||||
|
||||
Reference in New Issue
Block a user