Esempio n. 1
0
def forgot_password(request):
    if request.method == 'POST':
        form = ForgotPasswordForm(data=request.POST)
        if form.is_valid():
            try:
                user = User.objects.get(email=form.cleaned_data['email'])
                user.reset_password_requested = True
                user.save()
                reset_password_link = reverse('reset_password', kwargs={'uid': user.uid})
                absolute_link = request.build_absolute_uri(reset_password_link)
                email.delay(to=user.email, template="forgot_password", template_data={
                    "link": absolute_link
                })
            except User.DoesNotExist:
                pass
            return redirect('homepage')
    else:
        form = ForgotPasswordForm()

    base_template = 'layout_ajax.html' if request.is_ajax() else 'layout.html'
    ajax_header = 'Forgot Password' if request.is_ajax() else ''
    return render(request, 'password_forgot.html', {
        'form': form,
        'base_template': base_template,
        'ajax_header': ajax_header})
Esempio n. 2
0
def signup(request):
    if request.method == 'POST':
        form = SignupForm(request.POST)
        if form.is_valid():
            user = form.save()

            #   send confirmation email
            confirm_account_link = reverse('confirm_account', kwargs={'uid': user.uid})
            absolute_link = request.build_absolute_uri(confirm_account_link)
            email.delay(to=user.email, template="confirm_account", template_data={
                "link": absolute_link
            })

            #   authenticate the user
            auth_user = authenticate(email=form.cleaned_data['email'],
                                     password=form.cleaned_data['password'])
            login(request, auth_user)
            next_page = request.GET.get('next', 'dashboard')
            return redirect(next_page)
    else:
        form = SignupForm()

    base_template = 'layout_ajax.html' if request.is_ajax() else 'layout.html'
    ajax_header = 'Sign Up' if request.is_ajax() else ''
    return render(request, 'signup.html', {
        'form': form,
        'base_template': base_template,
        'ajax_header': ajax_header})