def change(request, token, template_name='uaccounts/change.html', changed_template_name='uaccounts/changed.html'): """If confirmation code is valid, show the password change form or try to change the password. **context** - `form`: "change password" form """ try: verification = verify_token(token, CHANGE_PASSWORD_EXPIRES) except VerificationError: return redirect('uaccounts:login') if not verification.email.verified: return redirect('uaccounts:login') user = verification.email.profile.user form = forms.ChangePasswordForm(user) if request.method == 'POST': form = forms.ChangePasswordForm(user, request.POST) if form.is_valid(): form.save() verification.delete() return render(request, changed_template_name) return render(request, template_name, {'form': form})
def verify(request, token, template_name='uaccounts/verified.html'): """Try to verify email address using given token.""" try: verification = verify_token(token, VERIFICATION_EXPIRES) except VerificationError: return redirect('uaccounts:index') if verification.email.profile != request.user.profile: return redirect('uaccounts:index') verification.email.verified = True verification.email.save() verification.delete() return render(request, template_name)
def activate(request, token, template_name='uaccounts/activated.html'): """Try to activate account using given token.""" try: verification = verify_token(token, ACTIVATION_EXPIRES) except VerificationError: return redirect('uaccounts:login') if verification.email.profile != request.user.profile: return redirect('uaccounts:login') verification.email.profile.user.is_active = True verification.email.profile.user.save() verification.email.profile.pending = False verification.email.profile.save() verification.email.verified = True verification.email.save() verification.delete() logout(request) return render(request, template_name)