Skip to content

Commit f7a9e0a

Browse files
committed
Remove the manual intervention step for account creation. Commit ready for merge.
- Legacy-Id: 19858
1 parent ae25363 commit f7a9e0a

2 files changed

Lines changed: 40 additions & 20 deletions

File tree

ietf/ietfauth/tests.py

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
from django.urls import reverse as urlreverse
2828
from django.contrib.auth.models import User
2929
from django.conf import settings
30+
from django.template.loader import render_to_string
3031

3132
import debug # pyflakes:ignore
3233

@@ -138,20 +139,26 @@ def username_in_htpasswd_file(self, username):
138139

139140
return False
140141

141-
def test_create_account_failure(self):
142+
# For the lowered barrier to account creation period, we are disabling this kind of failure
143+
# def test_create_account_failure(self):
142144

143-
url = urlreverse(ietf.ietfauth.views.create_account)
145+
# url = urlreverse(ietf.ietfauth.views.create_account)
144146

145-
# get
146-
r = self.client.get(url)
147-
self.assertEqual(r.status_code, 200)
147+
# # get
148+
# r = self.client.get(url)
149+
# self.assertEqual(r.status_code, 200)
148150

149-
# register email and verify failure
150-
email = 'new-account@example.com'
151-
empty_outbox()
152-
r = self.client.post(url, { 'email': email })
153-
self.assertEqual(r.status_code, 200)
154-
self.assertContains(r, "Additional Assistance Required")
151+
# # register email and verify failure
152+
# email = 'new-account@example.com'
153+
# empty_outbox()
154+
# r = self.client.post(url, { 'email': email })
155+
# self.assertEqual(r.status_code, 200)
156+
# self.assertContains(r, "Additional Assistance Required")
157+
158+
# 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.
159+
def test_create_account_failure_template(self):
160+
r = render_to_string('registration/manual.html', { 'account_request_email': settings.ACCOUNT_REQUEST_EMAIL })
161+
self.assertTrue("Additional Assistance Required" in r)
155162

156163
def register_and_verify(self, email):
157164
url = urlreverse(ietf.ietfauth.views.create_account)

ietf/ietfauth/views.py

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,9 @@
3636

3737
import importlib
3838

39-
from datetime import datetime as DateTime, timedelta as TimeDelta, date as Date
39+
from datetime import date as Date
40+
# needed if we revert to higher barrier for account creation
41+
#from datetime import datetime as DateTime, timedelta as TimeDelta, date as Date
4042
from collections import defaultdict
4143

4244
import django.core.signing
@@ -65,7 +67,9 @@
6567
NewEmailForm, ChangeUsernameForm, PersonPasswordForm)
6668
from ietf.ietfauth.htpasswd import update_htpasswd_file
6769
from ietf.ietfauth.utils import role_required, has_role
68-
from ietf.mailinglists.models import Subscribed, Whitelisted
70+
from ietf.mailinglists.models import Whitelisted
71+
# needed if we revert to higher barrier for account creation
72+
#from ietf.mailinglists.models import Subscribed, Whitelisted
6973
from ietf.name.models import ExtResourceName
7074
from ietf.nomcom.models import NomCom
7175
from ietf.person.models import Person, Email, Alias, PersonalApiKey, PERSON_API_KEY_VALUES
@@ -76,6 +80,9 @@
7680
from ietf.utils.mail import send_mail
7781
from ietf.utils.validators import validate_external_resource_value
7882

83+
# These are needed if we revert to the higher bar for account creation
84+
85+
7986

8087
def index(request):
8188
return render(request, 'registration/index.html')
@@ -114,13 +121,19 @@ def create_account(request):
114121
form = RegistrationForm(request.POST)
115122
if form.is_valid():
116123
to_email = form.cleaned_data['email'] # This will be lowercase if form.is_valid()
117-
existing = Subscribed.objects.filter(email=to_email).first()
118-
ok_to_create = ( Whitelisted.objects.filter(email=to_email).exists()
119-
or existing and (existing.time + TimeDelta(seconds=settings.LIST_ACCOUNT_DELAY)) < DateTime.now() )
120-
if ok_to_create:
121-
send_account_creation_email(request, to_email)
122-
else:
123-
return render(request, 'registration/manual.html', { 'account_request_email': settings.ACCOUNT_REQUEST_EMAIL })
124+
125+
# For the IETF 113 Registration period (at least) we are lowering the barriers for account creation
126+
# to the simple email round-trip check
127+
send_account_creation_email(request, to_email)
128+
129+
# The following is what to revert to should that lowered barrier prove problematic
130+
# existing = Subscribed.objects.filter(email=to_email).first()
131+
# ok_to_create = ( Whitelisted.objects.filter(email=to_email).exists()
132+
# or existing and (existing.time + TimeDelta(seconds=settings.LIST_ACCOUNT_DELAY)) < DateTime.now() )
133+
# if ok_to_create:
134+
# send_account_creation_email(request, to_email)
135+
# else:
136+
# return render(request, 'registration/manual.html', { 'account_request_email': settings.ACCOUNT_REQUEST_EMAIL })
124137
else:
125138
form = RegistrationForm()
126139

0 commit comments

Comments
 (0)