Beispiel #1
0
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})
Beispiel #2
0
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')
Beispiel #3
0
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})