diff --git a/core/apps/finance/serializers/cash_transaction.py b/core/apps/finance/serializers/cash_transaction.py index 1ef2017..54a16b1 100644 --- a/core/apps/finance/serializers/cash_transaction.py +++ b/core/apps/finance/serializers/cash_transaction.py @@ -2,7 +2,7 @@ from django.db import transaction from rest_framework import serializers -from core.apps.finance.models import CashTransaction +from core.apps.finance.models import CashTransaction, CashTransactionFolder from core.apps.accounts.models import User from core.apps.finance.models import PaymentType @@ -37,11 +37,17 @@ class CashTransactionCreateSerializer(serializers.Serializer): employee_ids = serializers.ListSerializer(child=serializers.UUIDField()) name = serializers.CharField() status = serializers.BooleanField() + folder_id = serializers.UUIDField(required=False) def validate(self, data): payment_type = PaymentType.objects.filter(id=data['id']).first() if payment_type: raise serializers.ValidationError("Payment Type not found") + if data.get('folder_id'): + folder = CashTransactionFolder.objects.filter(id=data.get('folder_id')).first() + if not folder: + raise serializers.ValidationError("Cash Transaction Folder not found") + data['folder'] = folder data['payment_type'] = payment_type return data @@ -51,7 +57,8 @@ class CashTransactionCreateSerializer(serializers.Serializer): cash_transaction = CashTransaction.objects.create( name=validated_data.get('name'), payment_type=validated_data.get('payment_type'), - status=validated_data.get('status') + status=validated_data.get('status'), + folder=validated_data.get('folder') ) cash_transaction.employees.set(employee_ids) cash_transaction.save()