new feature: customer panel accsess

This commit is contained in:
javad committed 2024-01-24 13:50:53 +03:30
1 parent 5052bde49a
commit e983e0cc43
12 files changed
+175 -4

No files matched your search

+1
View File
@@ -7,3 +7,4 @@ from .customer import *
from .form_item import *
from .customer_summary import *
from .customer_note import *
from .customer_panel import *
+8
View File
@@ -22,6 +22,14 @@ class CustomerRetrieveApi(APIView):
permission_classes = (IsAuthenticated, custom_permissions.WorkspaceOperatorPermission)
class OutputSerializer(serializers.ModelSerializer):
cuser_role = inline_serializer(fields={
'id': serializers.IntegerField(required=False),
'cuser': inline_serializer(fields={
'id': serializers.IntegerField(),
'mobile': serializers.IntegerField(),
}),
'customer_panel': serializers.BooleanField(required=False)
})
class Meta:
model = CustomerModel
fields = '__all__'
+27
View File
@@ -0,0 +1,27 @@
from rest_framework.views import APIView
from rest_framework import status
from rest_framework.response import Response
from rest_framework import serializers
from apps.customer.services import customer_panel_access
from rest_framework.permissions import IsAuthenticated
from utils import custom_permissions
class CustomerPanelApi(APIView):
permission_classes = (IsAuthenticated, custom_permissions.WorkspaceOperatorPermission)
class InputSerializer(serializers.Serializer):
mobile = serializers.IntegerField(required=True)
customer_id = serializers.IntegerField(required=True)
status = serializers.BooleanField(required=True)
def post(self, request):
serializer = self.InputSerializer(data=request.data)
serializer.is_valid(raise_exception=True)
cuser_role = customer_panel_access(request=request, **serializer.validated_data)
return Response(data={'cuser_role_id': cuser_role.id}, status=status.HTTP_200_OK)