change structure of provider companies to organizations

This commit is contained in:
2025-08-10 12:30:48 +03:30
parent 91d9025751
commit a28a1307cc
2 changed files with 22 additions and 25 deletions

View File

@@ -4,6 +4,7 @@ from apps.pos_device.web.api.v1.serilaizers import device as device_serializer
from apps.authorization.api.v1.serializers import UserRelationSerializer
from apps.authentication.api.v1.api import UserViewSet
from apps.authorization.models import UserRelations
from common.helpers import get_organization_by_user
from rest_framework.exceptions import APIException
from apps.pos_device import models as pos_models
from rest_framework.response import Response
@@ -36,7 +37,7 @@ class ProviderCompanyViewSet(viewsets.ModelViewSet): # noqa
url_name='psp_users',
name='psp_users'
)
def users_with_psp_org(self):
def users_with_psp_org(self, request):
""" list of psp users """
users = UserRelations.objects.filter(
@@ -57,11 +58,9 @@ class DeviceViewSet(viewsets.ModelViewSet):
def create(self, request, *args, **kwargs):
""" Custom create of pos devices """
if 'company' not in request.data.keys():
company = pos_models.ProviderCompany.objects.get(
user_relation__user=request.user
)
request.data.update({'company': company.id})
if 'organization' not in request.data.keys():
organization = get_organization_by_user(request.user)
request.data.update({'organization': organization.id})
# create device
serializer = self.serializer_class(data=request.data)
@@ -83,7 +82,7 @@ class DeviceViewSet(viewsets.ModelViewSet):
""" list of company devices """
devices = self.queryset.filter(
company__user_relation__user=request.user
organization=get_organization_by_user(request.user)
)
# paginate devices
@@ -132,11 +131,9 @@ class DeviceAssignmentViewSet(viewsets.ModelViewSet):
def device_assignment(self, request):
""" assign pos device to client by company """
if 'company' not in request.data.keys():
company = pos_models.ProviderCompany.objects.get(
user_relation__user=request.user
)
request.data.update({'company': company.id})
if 'organization' not in request.data.keys():
organization = get_organization_by_user(request.user)
request.data.update({'organization': organization.id})
# create assignment
serializer = self.serializer_class(data=request.data)
@@ -144,8 +141,8 @@ class DeviceAssignmentViewSet(viewsets.ModelViewSet):
assignment = serializer.save()
# set organization having pos status
assignment.company.user_relation.organization.has_pos = True
assignment.company.user_relation.organization.save()
assignment.organization.has_pos = True
assignment.organization.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_403_FORBIDDEN)