def forgot(request, template_name='uaccounts/forgot.html', sent_template_name='uaccounts/forgotsent.html'): """Create a "forgot password" verification code and send the respective email, or just show the "forgot password" page. **context** - `email`: email address the mail was sent to - `form`: "forgot password" form - `error`: error message """ form = forms.EmailAddressForm() if request.method == 'POST': form = forms.EmailAddressForm(request.POST) if form.is_valid(): address = form.cleaned_data['email'] try: email = EmailAddress.objects.get(verified=True, address=address) except EmailAddress.DoesNotExist: return render(request, template_name, {'form': forms.EmailAddressForm(), 'error': True}) verification_mail(request, email, 'change password', 'forgot', 'change') return render(request, sent_template_name, {'email': email}) return render(request, template_name, {'form': form})
def send(request): """Create activation code, send account activation email and show the pending page. """ verification_mail(request, request.user.profile.email, 'account activation', 'activation', 'activate') return redirect('uaccounts:login')
def verify_email(request): """Send email address verification mail. Used through AJAX. POST data: `id` """ try: email = request.user.profile.emails.get(pk=request.POST.get('id')) except (EmailAddress.DoesNotExist, ValueError): return JsonResponse({'success': False, 'error': 'You do not have such an ' 'email address'}) if email.verified: return JsonResponse({'success': False, 'error': 'Email address is already verified'}) verification_mail(request, email, 'verify email address', 'verify', 'verify') return JsonResponse({'success': True})