from rest_framework import permissions, viewsets from apps.api.serializers import ( TransactionSerializer, TransactionCategorySerializer, TransactionTagSerializer, InstallmentPlanSerializer, ) from apps.transactions.models import ( Transaction, TransactionCategory, TransactionTag, InstallmentPlan, ) from apps.rules.signals import transaction_updated, transaction_created class TransactionViewSet(viewsets.ModelViewSet): queryset = Transaction.objects.all() serializer_class = TransactionSerializer def perform_create(self, serializer): instance = serializer.save() transaction_created.send(sender=instance) def perform_update(self, serializer): instance = serializer.save() transaction_updated.send(sender=instance) class TransactionCategoryViewSet(viewsets.ModelViewSet): queryset = TransactionCategory.objects.all() serializer_class = TransactionCategorySerializer class TransactionTagViewSet(viewsets.ModelViewSet): queryset = TransactionTag.objects.all() serializer_class = TransactionTagSerializer class InstallmentPlanViewSet(viewsets.ModelViewSet): queryset = InstallmentPlan.objects.all() serializer_class = InstallmentPlanSerializer def perform_create(self, serializer): instance = serializer.save() instance.create_transactions() def perform_update(self, serializer): instance = serializer.save() instance.create_transactions()