diff --git a/core/apps/finance/urls.py b/core/apps/finance/urls.py index ef656c9..705ec1b 100644 --- a/core/apps/finance/urls.py +++ b/core/apps/finance/urls.py @@ -92,7 +92,7 @@ urlpatterns = [ )), path('expence_chat/', include( [ - path('/messages/', ex_chat_views.ExpenceMessageListApiView.as_view()), + path('/messages/', ex_chat_views.ExpenceMessageListApiView.as_view()), path('message/', include( [ path('create/', ex_chat_views.ExpenceMessageCreateApiView.as_view()), @@ -102,7 +102,7 @@ urlpatterns = [ )), path('income_chat/', include( [ - path('/messages/', in_chat_views.IncomeMessageListApiView.as_view()), + path('/messages/', in_chat_views.IncomeMessageListApiView.as_view()), path('message/', include( [ path('create/', in_chat_views.IncomeMessageCreateApiView.as_view()), diff --git a/core/apps/finance/views/expence_chat.py b/core/apps/finance/views/expence_chat.py index 59a6dc3..f7c8ece 100644 --- a/core/apps/finance/views/expence_chat.py +++ b/core/apps/finance/views/expence_chat.py @@ -3,7 +3,7 @@ from django.shortcuts import get_object_or_404 from rest_framework import generics, views from rest_framework.response import Response -from core.apps.finance.models import ExpenceChat, ExpenceMessage +from core.apps.finance.models import ExpenceChat, ExpenceMessage, Expence from core.apps.finance.serializers import expence_chat as serializers from core.apps.accounts.permissions.permissions import HasRolePermission @@ -37,7 +37,8 @@ class ExpenceMessageListApiView(generics.GenericAPIView): permission_classes = [HasRolePermission] def get(self, request, chat_id): - chat = get_object_or_404(ExpenceChat, id=chat_id) + expence = get_object_or_404(Expence, id=id) + chat = ExpenceChat.objects.get_or_create(expence=expence) messages = self.queryset.filter(chat=chat) serializer = self.serializer_class(messages, many=True) return Response( diff --git a/core/apps/finance/views/income_chat.py b/core/apps/finance/views/income_chat.py index ba0a098..620e57e 100644 --- a/core/apps/finance/views/income_chat.py +++ b/core/apps/finance/views/income_chat.py @@ -3,7 +3,7 @@ from django.shortcuts import get_object_or_404 from rest_framework import generics from rest_framework.response import Response -from core.apps.finance.models import IncomeMessage, IncomeChat +from core.apps.finance.models import IncomeMessage, IncomeChat, Income from core.apps.finance.serializers import income_chat as serializers from core.apps.accounts.permissions.permissions import HasRolePermission @@ -35,9 +35,11 @@ class IncomeMessageListApiView(generics.GenericAPIView): serializer_class = serializers.IncomeMessageListSerializer queryset = IncomeMessage.objects.select_related('user') permission_classes = [HasRolePermission] + pagination_class = None - def get(self, request, chat_id): - chat = get_object_or_404(IncomeChat, id=chat_id) + def get(self, request, id): + income = get_object_or_404(Income, id=id) + chat, created = IncomeChat.objects.get_or_create(income=income) messages = self.queryset.filter(chat=chat) serializer = self.serializer_class(messages, many=True) return Response(