Пример #1
0
def detail(request):
    try:
        if request.method == "GET":
            dto_validator = DynamicRequestModel(request,
                                                DefaultConfigSerializer)
            obj_result = Get(dto_validator.fields, dto_validator.depth)
            return ValidJsonResult(obj_result)
        elif request.method == "PUT":
            dto_serializer = DefaultConfigSerializer(data=request.data,
                                                     check_unique=False)
            dto_serializer.is_valid(raise_exception=True)
            data = dto_serializer.validated_data

            obj_result = Edit(data)
            return ValidJsonResult(obj_result)
        else:
            pass
    except ObjectDoesNotExist as ex:
        return NotFoundJsonResult(ex.args)
    except FieldDoesNotExist as ex:
        return InvalidJsonResult(ex.args)
    except ValidationError as ex:
        return ValidationErrorJsonResult(ex.args)
    except SerializerValidationError as ex:
        return ValidationErrorJsonResult(ex.args)
    except Exception as ex:
        return InvalidJsonResult(ex.args)
Пример #2
0
def list(request):
    try:
        if request.method == "GET":
            dto_validator = DynamicRequestModelList(request, GruposSerializer)
            obj_result = List(dto_validator, request.user.is_superuser)
            return ValidJsonResult(obj_result.rows, obj_result.GetMeta())
        elif request.method == "POST":
            dto_serializer = GruposSerializer(data=request.data)
            dto_serializer.is_valid(raise_exception=True)
            data = dto_serializer.validated_data

            permisos_data = []
            if 'permisos' in data.keys():
                permisos_data = data['permisos']
                data.pop('permisos', None)

            obj_result = Create(data, permisos_data)
            return CreatedJsonResult(obj_result)
    except FieldError as ex:
        return InvalidJsonResult(ex.args)
    except FieldDoesNotExist as ex:
        return InvalidJsonResult(ex.args)
    except ValidationError as ex:
        return ValidationErrorJsonResult(ex.args)
    except SerializerValidationError as ex:
        return ValidationErrorJsonResult(ex.args)
    except Exception as ex:
        return InvalidJsonResult(ex.args)
Пример #3
0
def detail(request, id):
    try:
        id = int(id)
        if request.method == "GET":
            dto_validator = DynamicRequestModel(request, PermisosSerializer)
            obj_result = Get(id, dto_validator.fields, dto_validator.depth)
            return ValidJsonResult(obj_result)
        elif request.method == "DELETE":
            Delete(id)
            return ValidJsonResult()
        elif request.method == "PUT":
            dto_serializer = PermisosSerializer(data=request.data,
                                                check_unique=False)
            dto_serializer.is_valid(raise_exception=True)
            obj_result = Edit(id, dto_serializer.validated_data)
            return ValidJsonResult(obj_result)
        else:
            pass
    except ObjectDoesNotExist as ex:
        return NotFoundJsonResult(ex.args)
    except FieldDoesNotExist as ex:
        return InvalidJsonResult(ex.args)
    except ValidationError as ex:
        return ValidationErrorJsonResult(ex.args)
    except SerializerValidationError as ex:
        return ValidationErrorJsonResult(ex.args)
    except Exception as ex:
        return InvalidJsonResult(ex.args)
Пример #4
0
def list(request):
    try:
        if request.method == "GET":
            dto_validator = DynamicRequestModelList(request,
                                                    PersonasSerializer)
            obj_result = List(dto_validator)
            return ValidJsonResult(obj_result.rows, obj_result.GetMeta())
        elif request.method == "POST":
            dto_serializer = PersonasSerializer(data=request.data)
            dto_serializer.is_valid(raise_exception=True)
            data = dto_serializer.validated_data

            obj_result = Create(data)
            return CreatedJsonResult(obj_result)
    except FieldError as ex:
        return InvalidJsonResult(ex.args)
    except FieldDoesNotExist as ex:
        return InvalidJsonResult(ex.args)
    except ValidationError as ex:
        return ValidationErrorJsonResult(ex.args)
    except SerializerValidationError as ex:
        return ValidationErrorJsonResult(ex.args)
    except PermissionDenied as ex:
        return PermissionJsonResult()
    except Exception as ex:
        return InvalidJsonResult(ex.args)
Пример #5
0
def detail(request, id):
    try:
        id = int(id)
        if request.method == "GET":
            dto_validator = DynamicRequestModel(request, UserSerializer)
            obj_result = Get(id, dto_validator.fields, dto_validator.depth)
            if 'accesosDirectos' in obj_result:
                obj_result['accesosDirectos'] = json.loads(
                    obj_result['accesosDirectos'])
            return ValidJsonResult(obj_result)
        elif request.method == "DELETE":
            Delete(id)
            return ValidJsonResult()
        elif request.method == "PATCH":

            if 'username' in request.data:
                request.data.pop('username', None)
            if 'email' in request.data:
                request.data.pop('email', None)
            if 'accesosDirectos' in request.data:
                request.data['accesosDirectos'] = json.dumps(
                    request.data['accesosDirectos'])

            dto_serializer = UserSerializer(data=request.data, partial=True)
            dto_serializer.is_valid(raise_exception=True)

            data = dto_serializer.validated_data
            perfil_data = None
            permisos_data = None
            grupos_data = None

            if 'perfil' in data.keys():
                perfil_data = data.pop('perfil', None)

                if 'grupos' in perfil_data:
                    grupos_data = perfil_data.pop('grupos', None)

                if 'permisos' in perfil_data:
                    permisos_data = perfil_data.pop('permisos', None)

            obj_result = Edit(id, data, perfil_data, grupos_data,
                              permisos_data)
            return ValidJsonResult(obj_result)
        else:
            pass
    except ObjectDoesNotExist as ex:
        return NotFoundJsonResult(ex.args)
    except FieldDoesNotExist as ex:
        return InvalidJsonResult(ex.args)
    except ValidationError as ex:
        return ValidationErrorJsonResult(ex.args)
    except SerializerValidationError as ex:
        return ValidationErrorJsonResult(ex.args)
    except PermissionDenied as ex:
        return PermissionJsonResult(ex.args)
    except Exception as ex:
        print(ex)
        return InvalidJsonResult(ex.args)
Пример #6
0
def auth_check_with_token(request):
    try:
        dto_validator = TokenPasswordSerializer(data=request.data, partial=True)
        dto_validator.is_valid(raise_exception=True)
        obj_token = AuthCheckWithToken(**dto_validator.data)
        return ValidJsonResult({
            'displayname': obj_token.user.last_name + ", " + obj_token.user.first_name,
            'token': obj_token.key, 
            'permisos': GetPermisos(obj_token.user_id),
            'config': GetConfig()
        })
    except FieldError as ex:
        return InvalidJsonResult(ex.args)
    except Exception as ex:
        return InvalidJsonResult(ex.args)
Пример #7
0
def auth_check(request):
    try:
        dto_validator = AuthSerializer(data=request.data)
        dto_validator.is_valid(raise_exception=True)
        obj_token = AuthCheck(**dto_validator.data)
        if obj_token == False:
            return ValidJsonResult({'exists': obj_token})
        return ValidJsonResult({
            'displayname': obj_token.user.last_name + ", " + obj_token.user.first_name, 
            'exists': True,
            'config': GetConfig()
        })
    except FieldError as ex:
        return InvalidJsonResult(ex.args)
    except Exception as ex:
        return InvalidJsonResult(ex.args)
Пример #8
0
def list(request):
    try:
        if request.method == "GET":
            dto_validator = DynamicRequestModelList(request, UserSerializer)
            obj_result = List(dto_validator, request.user.is_superuser)
            return ValidJsonResult(obj_result.rows, obj_result.GetMeta())
        elif request.method == "POST":
            dto_serializer = UserSerializer(data=request.data)
            dto_serializer.is_valid(raise_exception=True)

            data = dto_serializer.validated_data
            perfil_data = data['perfil']
            data.pop('perfil', None)

            permisos_data = perfil_data['permisos']
            perfil_data.pop('permisos', None)

            grupos_data = perfil_data['grupos']
            perfil_data.pop('grupos', None)

            obj_result = Create(data, perfil_data, grupos_data, permisos_data)
            return CreatedJsonResult(obj_result)
    except FieldError as ex:
        print(ex)
        return InvalidJsonResult(ex.args)
    except FieldDoesNotExist as ex:
        print(ex)
        return InvalidJsonResult(ex.args)
    except ValidationError as ex:
        print(ex)
        return ValidationErrorJsonResult(ex.args)
    except SerializerValidationError as ex:
        print(ex)
        return ValidationErrorJsonResult(ex.args)
    except PermissionDenied as ex:
        return PermissionJsonResult(ex.args)
    except Exception as ex:
        print(ex)
        return InvalidJsonResult(ex.args)
Пример #9
0
def login(request):
    try:
        dto_validator = LoginSerializer(data=request.data)
        dto_validator.is_valid(raise_exception=True)
        obj_token = Login(**dto_validator.data)
        return ValidJsonResult({
            'displayname': obj_token.user.last_name + ", " + obj_token.user.first_name,
            'token': obj_token.key, 
            'permisos': GetPermisos(obj_token.user_id),
            'configuraciones': GetConfig()
        })
    except AuthenticationFailed as ex:
        print(ex)
        return AuthenticationFailedJsonResult({ 'error': ex.detail })
    except Exception as ex:
        print(ex)
        return InvalidJsonResult(ex.args)
Пример #10
0
def perfil(request):
    try:
        return detail(request._request, request.user.id)
    except Exception as ex:
        print(ex)
        return InvalidJsonResult(ex.args)