Beispiel #1
0
def signout(request, message_template_name='lutefisk/signout_message.html',
            extra_context=None):
    """ TODO:

    """

    logout(request)

    messages.add_message(request, messages.SUCCESS,
                         render_to_string(message_template_name, extra_context),
                         fail_silently=True)

    return redirect(utils.get_site_url())
Beispiel #2
0
def signin(request, template_name='lutefisk/signin_form.html',
           message_template_name='lutefisk/signin_fail_message.html',
           redirect_field_name=REDIRECT_FIELD_NAME,
           redirect_signin_function=utils.signin_redirect,
           extra_context=None):
    """ TODO:

    """

    if not extra_context:
        extra_context = dict()

    if request.method == 'POST':
        data = request.POST
    else:
        data = None

    form = forms.AuthenticationForm(data=data)

    if data is not None:
        if form.is_valid():
            identification = form.cleaned_data['identification']
            password = form.cleaned_data['password']

            user = authenticate(identification=identification, password=password)

            if user.is_active:
                login(request, user)

                remember_me = form.cleaned_data['remember_me']

                if remember_me:
                    request.session.set_expiry(settings.LUTEFISK_REMEMBER_ME_DAYS[1] * 86400)
                else:
                    request.session.set_expiry(0)

                redirect_to = redirect_signin_function(request.REQUEST.get(redirect_field_name), user)
                return redirect(redirect_to)
            else:
                extra_context['EMAIL'] = user.email

                messages.add_message(request, messages.ERROR,
                                     render_to_string(message_template_name, extra_context),
                                     fail_silently=True)

                return redirect(utils.get_site_url())

    extra_context['form'] = form
    extra_context['next'] = request.REQUEST.get(redirect_field_name)

    return direct_to_template(request, template_name, extra_context=extra_context)
Beispiel #3
0
def signup(request, template_name='lutefisk/signup_form.html',
           message_template_name='lutefisk/signup_message.html',
           success_url=None, extra_context=None):
    """ TODO:

    """

    if not extra_context:
        extra_context = dict()

    if request.method == 'POST':
        data = request.POST
    else:
        data = None

    form = forms.SignupForm(data=data)

    if data is not None:
        if form.is_valid():
            user = form.save()

            signals.signup_complete.send(sender=None, user=user)

            if success_url:
                redirect_to = success_url
            else:
                redirect_to = utils.get_site_url()

            extra_context['EMAIL'] = form.cleaned_data['email']

            messages.add_message(request, messages.SUCCESS,
                                 render_to_string(message_template_name, extra_context),
                                 fail_silently=True)

            if request.user.is_authenticated():
                logout(request)

            return redirect(redirect_to)

    extra_context['form'] = form

    return direct_to_template(request, template_name, extra_context=extra_context)
Beispiel #4
0
def password_reset(request, template_name='lutefisk/password_reset_form.html',
                   message_template_name='lutefisk/password_reset_message.html',
                   email_template_name='lutefisk/emails/password_reset_message.txt',
                   success_url=None, extra_context=None):
    """ TODO:

    """

    if not extra_context:
        extra_context = dict()

    if request.method == 'POST':
        data = request.POST
    else:
        data = None

    form = forms.PasswordResetForm(data=data)

    if data is not None:
        if form.is_valid():
            form.save(email_template_name=email_template_name)

            extra_context['EMAIL'] = form.cleaned_data['email']

            messages.add_message(request, messages.SUCCESS,
                                 render_to_string(message_template_name, extra_context),
                                 fail_silently=True)

            if success_url:
                redirect_to = success_url
            else:
                redirect_to = utils.get_site_url()

            return redirect(redirect_to)

    extra_context['form'] = form

    return direct_to_template(request, template_name, extra_context=extra_context)