def check_permissions(request): redirect_to = request.POST.get(REDIRECT_FIELD_NAME, request.GET.get(REDIRECT_FIELD_NAME, '')) if not request.user.is_authenticated(): return HttpResponseRedirect( "%s?%s=%s" % (settings.LOGIN_URL, REDIRECT_FIELD_NAME, redirect_to)) view, args, kwargs = resolve(redirect_to) kwargs['request'] = request try: response = view(*args, **kwargs) except (Http404, TypeError): return HttpResponseRedirect(settings.LOGIN_REDIRECT_URL) if isinstance(response, HttpResponseRedirect): # this indicates a permissions problem # (there may be a better way) if REDIRECT_FIELD_NAME + '=' in response.url: return render(request, "wagtailadmin/access_denied.html", context={ 'attempted_to_reach': redirect_to, 'destinations': all_valid_destinations_for_request(request) }) return HttpResponseRedirect(redirect_to)
def check_permissions(request): redirect_to = request.POST.get(REDIRECT_FIELD_NAME, request.GET.get(REDIRECT_FIELD_NAME, '')) if not request.user.is_authenticated(): return HttpResponseRedirect( "%s?%s=%s" % (settings.LOGIN_URL, REDIRECT_FIELD_NAME, redirect_to) ) view, args, kwargs = resolve(redirect_to) kwargs['request'] = request try: response = view(*args, **kwargs) except (Http404, TypeError): return HttpResponseRedirect(settings.LOGIN_REDIRECT_URL) if isinstance(response, HttpResponseRedirect): # this indicates a permissions problem # (there may be a better way) if REDIRECT_FIELD_NAME + '=' in response.url: return render( request, "wagtailadmin/access_denied.html", context={ 'attempted_to_reach': redirect_to, 'destinations': all_valid_destinations_for_request(request) } ) return HttpResponseRedirect(redirect_to)
def welcome(request): valid_destinations = all_valid_destinations_for_request(request) if len(valid_destinations) == 1: redirect_to = valid_destinations[0][1] return HttpResponseRedirect(redirect_to) else: return render(request, 'welcome.html', {'destinations': valid_destinations})
def welcome(request): valid_destinations = all_valid_destinations_for_request(request) if len(valid_destinations) == 1: redirect_to = valid_destinations[0][1] return HttpResponseRedirect(redirect_to) else: return render(request, 'welcome.html', {'destinations': valid_destinations})