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