Remove the manual intervention step for account creation. Commit ready for merge.
- Legacy-Id: 19858
This commit is contained in:
parent
ae25363af7
commit
f7a9e0a1f9
|
@ -27,6 +27,7 @@ from urllib.parse import urlsplit
|
||||||
from django.urls import reverse as urlreverse
|
from django.urls import reverse as urlreverse
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
from django.template.loader import render_to_string
|
||||||
|
|
||||||
import debug # pyflakes:ignore
|
import debug # pyflakes:ignore
|
||||||
|
|
||||||
|
@ -138,20 +139,26 @@ class IetfAuthTests(TestCase):
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def test_create_account_failure(self):
|
# For the lowered barrier to account creation period, we are disabling this kind of failure
|
||||||
|
# def test_create_account_failure(self):
|
||||||
|
|
||||||
url = urlreverse(ietf.ietfauth.views.create_account)
|
# url = urlreverse(ietf.ietfauth.views.create_account)
|
||||||
|
|
||||||
# get
|
# # get
|
||||||
r = self.client.get(url)
|
# r = self.client.get(url)
|
||||||
self.assertEqual(r.status_code, 200)
|
# self.assertEqual(r.status_code, 200)
|
||||||
|
|
||||||
# register email and verify failure
|
# # register email and verify failure
|
||||||
email = 'new-account@example.com'
|
# email = 'new-account@example.com'
|
||||||
empty_outbox()
|
# empty_outbox()
|
||||||
r = self.client.post(url, { 'email': email })
|
# r = self.client.post(url, { 'email': email })
|
||||||
self.assertEqual(r.status_code, 200)
|
# self.assertEqual(r.status_code, 200)
|
||||||
self.assertContains(r, "Additional Assistance Required")
|
# self.assertContains(r, "Additional Assistance Required")
|
||||||
|
|
||||||
|
# Rather than delete the failure template just yet, here's a test to make sure it still renders should we need to revert to it.
|
||||||
|
def test_create_account_failure_template(self):
|
||||||
|
r = render_to_string('registration/manual.html', { 'account_request_email': settings.ACCOUNT_REQUEST_EMAIL })
|
||||||
|
self.assertTrue("Additional Assistance Required" in r)
|
||||||
|
|
||||||
def register_and_verify(self, email):
|
def register_and_verify(self, email):
|
||||||
url = urlreverse(ietf.ietfauth.views.create_account)
|
url = urlreverse(ietf.ietfauth.views.create_account)
|
||||||
|
|
|
@ -36,7 +36,9 @@
|
||||||
|
|
||||||
import importlib
|
import importlib
|
||||||
|
|
||||||
from datetime import datetime as DateTime, timedelta as TimeDelta, date as Date
|
from datetime import date as Date
|
||||||
|
# needed if we revert to higher barrier for account creation
|
||||||
|
#from datetime import datetime as DateTime, timedelta as TimeDelta, date as Date
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
|
|
||||||
import django.core.signing
|
import django.core.signing
|
||||||
|
@ -65,7 +67,9 @@ from ietf.ietfauth.forms import ( RegistrationForm, PasswordForm, ResetPasswordF
|
||||||
NewEmailForm, ChangeUsernameForm, PersonPasswordForm)
|
NewEmailForm, ChangeUsernameForm, PersonPasswordForm)
|
||||||
from ietf.ietfauth.htpasswd import update_htpasswd_file
|
from ietf.ietfauth.htpasswd import update_htpasswd_file
|
||||||
from ietf.ietfauth.utils import role_required, has_role
|
from ietf.ietfauth.utils import role_required, has_role
|
||||||
from ietf.mailinglists.models import Subscribed, Whitelisted
|
from ietf.mailinglists.models import Whitelisted
|
||||||
|
# needed if we revert to higher barrier for account creation
|
||||||
|
#from ietf.mailinglists.models import Subscribed, Whitelisted
|
||||||
from ietf.name.models import ExtResourceName
|
from ietf.name.models import ExtResourceName
|
||||||
from ietf.nomcom.models import NomCom
|
from ietf.nomcom.models import NomCom
|
||||||
from ietf.person.models import Person, Email, Alias, PersonalApiKey, PERSON_API_KEY_VALUES
|
from ietf.person.models import Person, Email, Alias, PersonalApiKey, PERSON_API_KEY_VALUES
|
||||||
|
@ -76,6 +80,9 @@ from ietf.utils.decorators import person_required
|
||||||
from ietf.utils.mail import send_mail
|
from ietf.utils.mail import send_mail
|
||||||
from ietf.utils.validators import validate_external_resource_value
|
from ietf.utils.validators import validate_external_resource_value
|
||||||
|
|
||||||
|
# These are needed if we revert to the higher bar for account creation
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def index(request):
|
def index(request):
|
||||||
return render(request, 'registration/index.html')
|
return render(request, 'registration/index.html')
|
||||||
|
@ -114,13 +121,19 @@ def create_account(request):
|
||||||
form = RegistrationForm(request.POST)
|
form = RegistrationForm(request.POST)
|
||||||
if form.is_valid():
|
if form.is_valid():
|
||||||
to_email = form.cleaned_data['email'] # This will be lowercase if form.is_valid()
|
to_email = form.cleaned_data['email'] # This will be lowercase if form.is_valid()
|
||||||
existing = Subscribed.objects.filter(email=to_email).first()
|
|
||||||
ok_to_create = ( Whitelisted.objects.filter(email=to_email).exists()
|
# For the IETF 113 Registration period (at least) we are lowering the barriers for account creation
|
||||||
or existing and (existing.time + TimeDelta(seconds=settings.LIST_ACCOUNT_DELAY)) < DateTime.now() )
|
# to the simple email round-trip check
|
||||||
if ok_to_create:
|
send_account_creation_email(request, to_email)
|
||||||
send_account_creation_email(request, to_email)
|
|
||||||
else:
|
# The following is what to revert to should that lowered barrier prove problematic
|
||||||
return render(request, 'registration/manual.html', { 'account_request_email': settings.ACCOUNT_REQUEST_EMAIL })
|
# existing = Subscribed.objects.filter(email=to_email).first()
|
||||||
|
# ok_to_create = ( Whitelisted.objects.filter(email=to_email).exists()
|
||||||
|
# or existing and (existing.time + TimeDelta(seconds=settings.LIST_ACCOUNT_DELAY)) < DateTime.now() )
|
||||||
|
# if ok_to_create:
|
||||||
|
# send_account_creation_email(request, to_email)
|
||||||
|
# else:
|
||||||
|
# return render(request, 'registration/manual.html', { 'account_request_email': settings.ACCOUNT_REQUEST_EMAIL })
|
||||||
else:
|
else:
|
||||||
form = RegistrationForm()
|
form = RegistrationForm()
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue