Exemple #1
0
def reset(request):
    if request.method == 'POST':  # if form submitted...
        form = ResetForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data.get("username")
            try:
                user = User.objects.get(username__exact=username)
            except User.DoesNotExist:
                user = User.objects.get(email__exact=username)
            newpass = User.objects.make_random_password(length=8)
            user.set_password(newpass)
            user.save()
            if request.is_secure():
                prefix = 'https://'
            else:
                prefix = 'http://'
            # TODO - better way to manage email message content
            send_mail(
                'OppiaMobile: Password reset',
                'Here is your new password for OppiaMobile: ' + newpass +
                '\n\nWhen you next log in you can update your password to something more memorable.'
                + '\n\n' + prefix + request.META['SERVER_NAME'],
                settings.SERVER_EMAIL, [user.email],
                fail_silently=False)
            return HttpResponseRedirect('sent')
    else:
        form = ResetForm()  # An unbound form

    return render(request, 'oppia/form.html', {
        'form': form,
        'title': _(u'Reset password')
    })
def reset(request):
    if request.method == 'POST': # if form submitted...
        form = ResetForm(request.POST)
        
        if form.is_valid():
            username = form.cleaned_data.get("username")
            try:
                user = User.objects.get(username__exact=username)
            except User.DoesNotExist:
                user = User.objects.get(email__exact=username)
            newpass = User.objects.make_random_password(length=8)
            user.set_password(newpass)
            user.save()
            if request.is_secure():
                prefix = 'https://'
            else:
                prefix = 'http://'
            # TODO - better way to manage email message content
            send_mail('OppiaMobile: Password reset', 'Here is your new password for OppiaMobile: '+newpass
                      + '\n\nWhen you next log in you can update your password to something more memorable.'
                      + '\n\n' + prefix + request.META['SERVER_NAME'] ,
                      settings.SERVER_EMAIL, [user.email], fail_silently=False)
            return HttpResponseRedirect('sent')
    else:
        form = ResetForm() # An unbound form

    return render_to_response(
                  'oppia/form.html',
                  {'form': form,
                   'title': _(u'Reset password')},
                  context_instance=RequestContext(request))