コード例 #1
0
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)
コード例 #2
0
ファイル: __init__.py プロジェクト: amymok/cfgov-refresh
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)
コード例 #3
0
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})
コード例 #4
0
ファイル: __init__.py プロジェクト: Newman101/cfgov-refresh
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})