Exemplo n.º 1
0
    def create(self, request, *args, **kwargs):
        """
        Create new reseller client
        """
        application = Application.objects.filter(owner=request.user).first()
        if application:
            reseller = get_object_or_403(Reseller,
                                         name=kwargs['reseller_name'],
                                         application=application)
        else:
            reseller = get_object_or_403(Reseller,
                                         name=kwargs['reseller_name'],
                                         owner=request.user)
        if not Client.objects.filter(reseller=reseller,
                                     name=request.data['name']):

            # Check if there is a free space for new client or storage is unlimited
            space = free_space(reseller)
            if space >= request.data['storage'][
                    'limit'] or reseller.limit is UNLIMITED:
                # Every client should belong to particular reseller
                request.data['reseller'] = reseller
                return ModelViewSet.create(self, request, *args, **kwargs)
            return Response("Reseller limit is reached",
                            status=status.HTTP_400_BAD_REQUEST)
        return Response("Such client already exists",
                        status=status.HTTP_400_BAD_REQUEST)
Exemplo n.º 2
0
    def create(self, *args, **kwargs):
        request = args[0]
        client = kwargs['client']
        reseller = kwargs['reseller']

        if 'user_id' in request.data and ClientUser.objects.filter(user_id=request.data['user_id'],
                                                                   client=kwargs['client']):
            return Response("Such user already exists", status=status.HTTP_400_BAD_REQUEST)

        if 'email' in request.data and ClientUser.objects.filter(email=request.data['email'],
                                                                 client=kwargs['client']):
            return Response("User with email {} already exists".format(request.data['email']),
                            status=status.HTTP_400_BAD_REQUEST)

        if 'usage' in request.data:
            return Response("Usage should not be specified", status=status.HTTP_400_BAD_REQUEST)

        # Check if client has free space for new user or storage is unlimited
        space = free_space(client)
        if space >= request.data['storage']['limit'] or space is UNLIMITED:
            request.data['client'] = client
            request.data['application_id'] = reseller.application.id
            if 'admin' not in request.data:
                request.data['admin'] = False
            if 'superadmin' not in request.data:
                request.data['superadmin'] = False
            if 'password' in request.data:
                request.data.pop('password')
            if 'profile_type' in request.data:
                if not request.data['profile_type']:
                    request.data['profile_type'] = ClientUser.DEFAULT_PROFILE

            return ModelViewSet.create(self, *args, **kwargs)

        return Response("Client limit is reached", status=status.HTTP_400_BAD_REQUEST)
Exemplo n.º 3
0
    def create(self, request, *args, **kwargs):
        if isinstance(request.data, QueryDict):
            _mutable = request.data._mutable
            request.data._mutable = True

        request.data['doctor'] = Doctor.objects.get(user=request.user).id

        if isinstance(request.data, QueryDict):
            request.data._mutable = _mutable

        return ModelViewSet.create(self, request, *args, **kwargs)
Exemplo n.º 4
0
 def create(self, request, *args, **kwargs):
     request.data['usuario_solicitante'] = request.user.id
     request.data['fecha_emision'] = self._normalizar_fecha(
         request.data['fecha_emision'])
     dpc = request.data.get('destino_domicilio_provincia')
     opc = request.data.get('origen_domicilio_provincia')
     request.data['destino_domicilio_provincia'] = Provincia.objects.get(
         codigo=dpc).codigo_arba
     request.data['origen_domicilio_provincia'] = Provincia.objects.get(
         codigo=opc).codigo_arba
     request.data['fecha_salida_transporte'] = self._normalizar_fecha(
         request.data['fecha_salida_transporte'])
     return ModelViewSet.create(self, request, *args, **kwargs)
Exemplo n.º 5
0
    def create(self, request, *args, **kwargs):
        """
        Create new reseller client
        """
        if request.user.is_superuser:
            reseller = get_object_or_403(Reseller, pk=kwargs['reseller_pk'])
        else:
            reseller = get_object_or_403(Reseller, pk=kwargs['reseller_pk'], owner=request.user)

        # Check if there is a free space for new client
        free_space = reseller.limit - reseller.get_usage()
        if free_space >= request.data['storage']['limit']:
            # Every client should belong to particular reseller
            request.data['reseller'] = reseller
            return ModelViewSet.create(self, request, *args, **kwargs)
        return Response("Reseller limit is reached", status=status.HTTP_400_BAD_REQUEST)
Exemplo n.º 6
0
    def create(self, request, *args, **kwargs):
        if request.user.is_superuser:
            reseller = get_object_or_403(Reseller, pk=kwargs['reseller_pk'])
        else:
            reseller = get_object_or_403(Reseller, pk=kwargs['reseller_pk'], owner=request.user)

        # get client to provide it for user creation
        client = Client.objects.filter(reseller=reseller, pk=kwargs['client_pk']).first()
        if client:
            # Check if client has free space for new user
            free_space = client.limit - client.get_usage()
            if free_space >= request.data['storage']['limit']:
                request.data['client'] = client.id
                return ModelViewSet.create(self, request, *args, **kwargs)
            return Response('Client limit is reached', status=status.HTTP_400_BAD_REQUEST)
        return Response('Current reseller does not have permissions for this client', status=status.HTTP_403_FORBIDDEN)
Exemplo n.º 7
0
    def create(self, *args, **kwargs):
        request = args[0]
        client = kwargs['client']
        reseller = kwargs['reseller']

        if 'user_id' in request.data and ClientUser.objects.filter(
                user_id=request.data['user_id'], client=kwargs['client']):
            return Response("Such user already exists",
                            status=status.HTTP_400_BAD_REQUEST)

        if 'email' in request.data and ClientUser.objects.filter(
                email=request.data['email'], client=kwargs['client']):
            return Response("User with email {} already exists".format(
                request.data['email']),
                            status=status.HTTP_400_BAD_REQUEST)

        if 'usage' in request.data:
            return Response("Usage should not be specified",
                            status=status.HTTP_400_BAD_REQUEST)

        # Check if client has free space for new user or storage is unlimited
        space = free_space(client)
        if space >= request.data['storage']['limit'] or space is UNLIMITED:
            request.data['client'] = client
            request.data['application_id'] = reseller.application.id
            if 'admin' not in request.data:
                request.data['admin'] = False
            if 'superadmin' not in request.data:
                request.data['superadmin'] = False
            if 'password' in request.data:
                request.data.pop('password')
            if 'profile_type' in request.data:
                if not request.data['profile_type']:
                    request.data['profile_type'] = ClientUser.DEFAULT_PROFILE

            return ModelViewSet.create(self, *args, **kwargs)

        return Response("Client limit is reached",
                        status=status.HTTP_400_BAD_REQUEST)
Exemplo n.º 8
0
    def create(self, request, *args, **kwargs):
        """
        Create new reseller client
        """
        application = Application.objects.filter(owner=request.user).first()
        if application:
            reseller = get_object_or_403(Reseller, name=kwargs['reseller_name'],
                                         application=application)
        else:
            reseller = get_object_or_403(Reseller, name=kwargs['reseller_name'],
                                         owner=request.user)
        if not Client.objects.filter(reseller=reseller,
                                     name=request.data['name']):

            # Check if there is a free space for new client or storage is unlimited
            space = free_space(reseller)
            if space >= request.data['storage']['limit'] or reseller.limit is UNLIMITED:
                # Every client should belong to particular reseller
                request.data['reseller'] = reseller
                return ModelViewSet.create(self, request, *args, **kwargs)
            return Response("Reseller limit is reached", status=status.HTTP_400_BAD_REQUEST)
        return Response("Such client already exists", status=status.HTTP_400_BAD_REQUEST)
Exemplo n.º 9
0
 def create(self, request, *args, **kwargs):
     request.data['application'] = kwargs['application']
     return ModelViewSet.create(self, request, *args, **kwargs)
Exemplo n.º 10
0
 def create(self, request, *args, **kwargs):
     request.data['application'] = kwargs['application']
     return ModelViewSet.create(self, request, *args, **kwargs)
Exemplo n.º 11
0
 def create(self, request, *args, **kwargs):
     request.data['usuario_solicitante'] = request.user.id
     return ModelViewSet.create(self, request, *args, **kwargs)
 def create(self, request):
     return ModelViewSet.create(self, request)
Exemplo n.º 13
0
 def create(self, request, *args, **kwargs):
     if request.user.is_superuser:
         return ModelViewSet.create(self, request, *args, **kwargs)
     return Response("Only superuser can create reseller", status=status.HTTP_403_FORBIDDEN)
Exemplo n.º 14
0
 def create(self, request, *args, **kwargs):
     request.data['user'] = request.user.id
     return ModelViewSet.create(self, request, *args, **kwargs)
Exemplo n.º 15
0
 def create(self, request, *args, **kwargs):
     return ModelViewSet.create(self, request, *args, **kwargs)
Exemplo n.º 16
0
 def create(self, request, *args, **kwargs):
     username = str(int(math.ceil(random.random() * 1000000)))
     while len(User.objects.filter(username=username)) > 0:
         username = str(int(math.ceil(random.random() * 1000000)))
     request.data['username'] = username
     return ModelViewSet.create(self, request, args, kwargs)
Exemplo n.º 17
0
 def create(self, request, *args, **kwargs):
     return ModelViewSet.create(self, request, *args, **kwargs)
Exemplo n.º 18
0
 def create(self, request: Request, *args, **kwargs):
     self.secure_create(request)
     return ModelViewSet.create(self, request, *args, **kwargs)