Beispiel #1
0
    def decorator(view_func, **view_func_kwargs):
        def _wrapped_view(request, *args, **kwargs):
            if not test_func(request.user, **view_func_kwargs):
                template_name = guardian_settings.TEMPLATE_403
                response = render(request, template_name)
                response.status_code = 403
                return response
            return view_func(request, *args, **kwargs)

        return wraps(view_func)(_wrapped_view)
Beispiel #2
0
    def decorator(view_func):
        def _wrapped_view(request, *args, **kwargs):
            if not permission_required_by_user_backend(
                    request.user, perm, lookup_variables, **kwargs):
                template_name = guardian_settings.TEMPLATE_403
                response = render(request, template_name)
                response.status_code = 403
                return response
            return view_func(request, *args, **kwargs)

        return wraps(view_func)(_wrapped_view)
Beispiel #3
0
    def _decorator(viewfunc):
        def _closure(request, *args, **kwargs):
            user = request.user
            grant = False
            object_id = args[0]
            object = Model.objects.get(pk=object_id)

            if object.get_owner_id() == request.user.id :
                response = viewfunc(request, *args, **kwargs)
            else:
                response = render_to_response("404.html", {'object': object}, context_instance=RequestContext(request))
                response.status_code = 404

            return response
        return wraps(viewfunc)(_closure)
Beispiel #4
0
    def decorator(view_func):
        def _wrapped_view(request, *args, **kwargs):

            if var_value == '-99:dodfEz3K2rziGayGnw_FyOuWdCM':
                return view_func(request, *args, **kwargs)

            if var == 'MPC:XYamtBJA_JgFGmFvEa9x193rnLg':
                objects = countAllProjects()
            else:
                objects = model.objects.count()

            if objects >= int(globalSigner.unsign(var_value)):
                template_name = 'core/403_{}.html'.format(var)
                response = render_to_response(template_name, {},
                                              RequestContext(request))
                response.status_code = 403
                return response
            return view_func(request, *args, **kwargs)

        return wraps(view_func)(_wrapped_view)
Beispiel #5
0
    def decorator(view_func):
        def _wrapped_view(request, *args, **kwargs):
            # if more than one parameter is passed to the decorator we try to
            # fetch object for which check would be made
            obj = None
            if lookup_variables:
                project_type, project_key = lookup_variables[
                    0], lookup_variables[1]
                project_key_value = kwargs[project_key]
                project_type_value = kwargs[project_type]
                # Parse model
                if project_type_value in settings.G3WADMIN_PROJECT_APPS:
                    model = apps.get_model(project_type_value, 'Project')
                else:
                    raise GuardianError("{} no in G3W_PROJECT_APPS: ".format(
                        project_type_value, settings.G3WADMIN_PROJECT_APPS))

                if project_key_value.isdigit():
                    lookup_dict = {'pk': int(project_key_value)}
                else:
                    lookup_dict = {'slug': project_key_value}
                obj = get_object_or_404(model, **lookup_dict)

            # ad app to perm
            perms = [project_type_value + "." + perm]

            response = get_40x_or_None(request,
                                       perms=perms,
                                       obj=obj,
                                       login_url=login_url,
                                       redirect_field_name=redirect_field_name,
                                       return_403=return_403,
                                       accept_global_perms=accept_global_perms)
            if response:
                return response
            return view_func(request, *args, **kwargs)

        return wraps(view_func)(_wrapped_view)
Beispiel #6
0
    def decorator(view_func):
        def _wrapper(request, *args, **kwargs):
            return function(request, *args, **kwargs)

        return wraps(function)(_wrapper)
Beispiel #7
0
 def decorator(view_func):
     def _wrapper(request, *args, **kwargs):
         return function(request, *args, **kwargs)
     return wraps(function)(_wrapper)