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})
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})