Пример #1
0
def openid_login(request, base_error=None):
    """
    Handles OpenID login via form rendering and submission.
    """
    path = request_helpers.get_redirect_path(request)
    if request.POST:
        openid = request.POST.get('openid_identifier', '')
        if openid.strip():
            return django_openidconsumer.views.begin(
                request,
                openid,
                redirect_to=reverse('openid-complete'),
                next=request_helpers.get_redirect_path(request),
                on_failure=openid_login,
                template_name='django_community/openid_login.html')
        else:
            error = 'empty_id'
    else:
        error = base_error
    return shortcuts.render_to_response(
        'django_community/openid_login.html',
        {
            'error': error,
            'redirect': path
        },
        context_instance=RequestContext(request),
    )
Пример #2
0
def signout(request):
    django_community.utils.handle_signout(request)
    path = request_helpers.get_redirect_path(request)
    if path.strip():
        return http.HttpResponseRedirect(reverse('site-home'))
    else:
        return http.HttpResponseRedirect(reverse('site-home'))
Пример #3
0
def combined_logout(request):
    """
    Handles logout both for OpenID and standard authentication.
    """
    django_community.utils.handle_logout(request)
    django_community.utils.openid_logout(request)
    path = request_helpers.get_redirect_path(request)
    if path.strip():
        return http.HttpResponseRedirect(path)
    else:
        return http.HttpResponseRedirect(reverse('main'))
Пример #4
0
def combined_logout(request):
    """
    Handles logout both for OpenID and standard authentication.
    """
    django_community.utils.handle_logout(request)
    django_community.utils.openid_logout(request)
    path = request_helpers.get_redirect_path(request)
    if path.strip():
        return http.HttpResponseRedirect(path)
    else:
        return http.HttpResponseRedirect(reverse('main'))
Пример #5
0
def openid_login(request, base_error = None):
    """
    Handles OpenID login via form rendering and submission.
    """
    path = request_helpers.get_redirect_path(request)
    if request.POST:
        openid = request.POST.get('openid_identifier', '')
        if openid.strip():
            return django_openidconsumer.views.begin(request,
                                                    openid,
                                                    redirect_to = reverse('openid-complete'),
                                                    next = request_helpers.get_redirect_path(request),
                                                    on_failure = openid_login,
                                                    template_name = 'django_community/openid_login.html')
        else:
            error = 'empty_id'
    else:
        error = base_error
    return shortcuts.render_to_response(
        'django_community/openid_login.html', 
        {'error':error,
         'redirect':path}, 
        context_instance = RequestContext(request),
    )
Пример #6
0
def standard_signup(request):
    """
    Handles signup for none OpenID users.
    """
    path = request_helpers.get_redirect_path(request)
    if request.POST:
        form = SignupForm(request.POST)
        if form.is_valid():
            handle_registration(request, form.cleaned_data)
            return http.HttpResponseRedirect(path)
    else:
        form = SignupForm()
    
    return shortcuts.render_to_response('web/auth/signup.html',
                                        {'form':form,
                                         'redirect':path},
                                        context_instance = RequestContext(request))
Пример #7
0
def standard_signin(request):
    """
    Handles login for none OpenID users.
    """
    path = request_helpers.get_redirect_path(request)
    if request.POST:
        form = LoginForm(request.POST)
        if form.is_valid():
            handle_login(request, form.cleaned_data)
            return http.HttpResponseRedirect(reverse('site-home'))
    else:
        form = LoginForm()
        
    return shortcuts.render_to_response('signin.html',
                                        {'form':form,
                                         'redirect':path},
                                        context_instance = RequestContext(request))
Пример #8
0
def default_on_success(request, identity_url, openid_response):
    if 'openids' not in request.session.keys():
        request.session['openids'] = []
    
    # Eliminate any duplicates
    request.session['openids'] = [
        o for o in request.session['openids'] if o.openid != identity_url
    ]
    request.session['openids'].append(from_openid_response(openid_response))
    
    # Set up request.openids and request.openid, reusing middleware logic
    OpenIDMiddleware().process_request(request)
    
    next = get_redirect_path(request)
    if not next or not is_valid_next_url(request, next):
        next = getattr(settings, 'OPENID_REDIRECT_NEXT', '/')
    
    return HttpResponseRedirect(next)
Пример #9
0
def standard_signup(request):
    """
    Handles signup for none OpenID users.
    """
    path = request_helpers.get_redirect_path(request)
    if request.POST:
        form = SignupForm(request.POST, request.FILES, request)
        if form.is_valid():
            handle_signup(request, form.cleaned_data)
            return http.HttpRedirectResponse(path)
    else:
        form = SignupForm()

    return shortcuts.render_to_response(
        'django_community/signup.html', {
            'form': form,
            'redirect': path
        },
        context_instance=RequestContext(request))