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)
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)
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)
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)
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)
def decorator(view_func): def _wrapper(request, *args, **kwargs): return function(request, *args, **kwargs) return wraps(function)(_wrapper)