diff --git a/ietf/api/views.py b/ietf/api/views.py
index a6a51f667..e5fc3bac5 100644
--- a/ietf/api/views.py
+++ b/ietf/api/views.py
@@ -80,7 +80,7 @@ class PersonalInformationExportView(DetailView, JsonExportMixin):
person = get_object_or_404(self.model, user=request.user)
expand = ['searchrule', 'documentauthor', 'ad_document_set', 'ad_dochistory_set', 'docevent',
'ballotpositiondocevent', 'deletedevent', 'email_set', 'groupevent', 'role', 'rolehistory', 'iprdisclosurebase',
- 'iprevent', 'liaisonstatementevent', 'whitelisted', 'schedule', 'constraint', 'schedulingevent', 'message',
+ 'iprevent', 'liaisonstatementevent', 'allowlisted', 'schedule', 'constraint', 'schedulingevent', 'message',
'sendqueue', 'nominee', 'topicfeedbacklastseen', 'alias', 'email', 'apikeys', 'personevent',
'reviewersettings', 'reviewsecretarysettings', 'unavailableperiod', 'reviewwish',
'nextreviewerinteam', 'reviewrequest', 'meetingregistration', 'submissionevent', 'preapproval',
diff --git a/ietf/dbtemplate/fixtures/nomcom_templates.xml b/ietf/dbtemplate/fixtures/nomcom_templates.xml
index dbaa7df3e..abf0cb58f 100644
--- a/ietf/dbtemplate/fixtures/nomcom_templates.xml
+++ b/ietf/dbtemplate/fixtures/nomcom_templates.xml
@@ -166,7 +166,7 @@ Thank you,
Thank you for accepting your nomination for the position of $position.
Please remember to complete and return the questionnaire for this position at your earliest opportunity.
-The questionaire is repeated below for your convenience.
+The questionnaire is repeated below for your convenience.
--------
This template uses the syntax of reStructuredText. Get a quick reference at http://docutils.sourceforge.net/docs/user/rst/quickref.html.
-You can do variable interpolation with $varialbe if the template allows any variable.
+You can do variable interpolation with $variable if the template allows any variable.
{% endif %} {% if template.type.slug == "django" %}This template uses the syntax of the default django template framework. Get more info at https://docs.djangoproject.com/en/dev/topics/templates/.
@@ -43,4 +43,4 @@ -{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/dbtemplate/templates/dbtemplate/template_show.html b/ietf/dbtemplate/templates/dbtemplate/template_show.html index a3a77ed45..527c9dedf 100644 --- a/ietf/dbtemplate/templates/dbtemplate/template_show.html +++ b/ietf/dbtemplate/templates/dbtemplate/template_show.html @@ -15,7 +15,7 @@This template uses the syntax of reStructuredText. Get a quick reference at http://docutils.sourceforge.net/docs/user/rst/quickref.html.
-You can do variable interpolation with $varialbe if the template allows any variable.
+You can do variable interpolation with $variable if the template allows any variable.
{% endif %} {% if template.type.slug == "django" %}This template uses the syntax of the default django template framework. Get more info at https://docs.djangoproject.com/en/dev/topics/templates/.
@@ -37,4 +37,4 @@{{ template.content|escape }}-{% endblock %} +{% endblock %} \ No newline at end of file diff --git a/ietf/doc/tests.py b/ietf/doc/tests.py index 751625e59..36431cb02 100644 --- a/ietf/doc/tests.py +++ b/ietf/doc/tests.py @@ -489,7 +489,7 @@ Table of Contents 1. Introduction This document describes how to make the Martian networks work. The - methods used in Earth do not directly translate to the efficent + methods used in Earth do not directly translate to the efficient networks on Mars, as the topographical differences caused by planets. For example the avian carriers, cannot be used in the Mars, thus RFC1149 ([RFC1149]) cannot be used in Mars. diff --git a/ietf/group/models.py b/ietf/group/models.py index c4c1673ac..112522f2c 100644 --- a/ietf/group/models.py +++ b/ietf/group/models.py @@ -133,15 +133,15 @@ class Group(GroupInfo): role_names = [role_names] return user.is_authenticated and self.role_set.filter(name__in=role_names, person__user=user).exists() - def is_decendant_of(self, sought_parent): + def is_descendant_of(self, sought_parent): parent = self.parent - decendants = [ self, ] - while (parent != None) and (parent not in decendants): - decendants = [ parent ] + decendants + descendants = [ self, ] + while (parent != None) and (parent not in descendants): + descendants = [ parent ] + descendants if parent.acronym == sought_parent: return True parent = parent.parent - log.assertion('parent not in decendants') + log.assertion('parent not in descendants') return False def get_chair(self): diff --git a/ietf/group/tests_info.py b/ietf/group/tests_info.py index 71763eae4..98af69ba0 100644 --- a/ietf/group/tests_info.py +++ b/ietf/group/tests_info.py @@ -1937,12 +1937,12 @@ class GroupParentLoopTests(TestCase): import signal def timeout_handler(signum, frame): - raise Exception("Infinite loop in parent links is not handeled properly.") + raise Exception("Infinite loop in parent links is not handled properly.") signal.signal(signal.SIGALRM, timeout_handler) signal.alarm(1) # One second try: - test2.is_decendant_of("ietf") + test2.is_descendant_of("ietf") except AssertionError: pass except Exception: diff --git a/ietf/ietfauth/forms.py b/ietf/ietfauth/forms.py index 7a609c623..dab5ce374 100644 --- a/ietf/ietfauth/forms.py +++ b/ietf/ietfauth/forms.py @@ -18,7 +18,7 @@ from django_password_strength.widgets import PasswordStrengthInput, PasswordConf import debug # pyflakes:ignore from ietf.person.models import Person, Email -from ietf.mailinglists.models import Whitelisted +from ietf.mailinglists.models import Allowlisted from ietf.utils.text import isascii class RegistrationForm(forms.Form): @@ -203,9 +203,9 @@ class ResetPasswordForm(forms.Form): class TestEmailForm(forms.Form): email = forms.EmailField(required=False) -class WhitelistForm(forms.ModelForm): +class AllowlistForm(forms.ModelForm): class Meta: - model = Whitelisted + model = Allowlisted exclude = ['by', 'time' ] diff --git a/ietf/ietfauth/tests.py b/ietf/ietfauth/tests.py index 8e4d14982..9fd75d06d 100644 --- a/ietf/ietfauth/tests.py +++ b/ietf/ietfauth/tests.py @@ -194,7 +194,7 @@ class IetfAuthTests(TestCase): self.assertTrue(self.username_in_htpasswd_file(email)) - def test_create_whitelisted_account(self): + def test_create_allowlisted_account(self): email = "new-account@example.com" # add allowlist entry @@ -202,13 +202,13 @@ class IetfAuthTests(TestCase): self.assertEqual(r.status_code, 302) self.assertEqual(urlsplit(r["Location"])[2], urlreverse(ietf.ietfauth.views.profile)) - r = self.client.get(urlreverse(ietf.ietfauth.views.add_account_whitelist)) + r = self.client.get(urlreverse(ietf.ietfauth.views.add_account_allowlist)) self.assertEqual(r.status_code, 200) - self.assertContains(r, "Add a whitelist entry") + self.assertContains(r, "Add an allowlist entry") - r = self.client.post(urlreverse(ietf.ietfauth.views.add_account_whitelist), {"email": email}) + r = self.client.post(urlreverse(ietf.ietfauth.views.add_account_allowlist), {"email": email}) self.assertEqual(r.status_code, 200) - self.assertContains(r, "Whitelist entry creation successful") + self.assertContains(r, "Allowlist entry creation successful") # log out r = self.client.get(urlreverse('django.contrib.auth.views.logout')) diff --git a/ietf/ietfauth/urls.py b/ietf/ietfauth/urls.py index 12c749fbe..56daae053 100644 --- a/ietf/ietfauth/urls.py +++ b/ietf/ietfauth/urls.py @@ -24,5 +24,5 @@ urlpatterns = [ url(r'^review/$', views.review_overview), url(r'^testemail/$', views.test_email), url(r'^username/$', views.change_username), - url(r'^whitelist/add/?$', views.add_account_whitelist), + url(r'^allowlist/add/?$', views.add_account_allowlist), ] diff --git a/ietf/ietfauth/views.py b/ietf/ietfauth/views.py index f9db86d76..f89bc0149 100644 --- a/ietf/ietfauth/views.py +++ b/ietf/ietfauth/views.py @@ -62,13 +62,11 @@ import debug # pyflakes:ignore from ietf.group.models import Role, Group from ietf.ietfauth.forms import ( RegistrationForm, PasswordForm, ResetPasswordForm, TestEmailForm, - WhitelistForm, ChangePasswordForm, get_person_form, RoleEmailForm, + AllowlistForm, ChangePasswordForm, get_person_form, RoleEmailForm, NewEmailForm, ChangeUsernameForm, PersonPasswordForm) from ietf.ietfauth.htpasswd import update_htpasswd_file from ietf.ietfauth.utils import role_required, has_role -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.mailinglists.models import Allowlisted from ietf.name.models import ExtResourceName from ietf.nomcom.models import NomCom from ietf.person.models import Person, Email, Alias, PersonalApiKey, PERSON_API_KEY_VALUES @@ -128,7 +126,7 @@ def create_account(request): # The following is what to revert to should that lowered barrier prove problematic # existing = Subscribed.objects.filter(email=to_email).first() - # ok_to_create = ( Whitelisted.objects.filter(email=to_email).exists() + # ok_to_create = ( Allowlisted.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) @@ -522,19 +520,19 @@ def test_email(request): return r @role_required('Secretariat') -def add_account_whitelist(request): +def add_account_allowlist(request): success = False if request.method == 'POST': - form = WhitelistForm(request.POST) + form = AllowlistForm(request.POST) if form.is_valid(): email = form.cleaned_data['email'] - entry = Whitelisted(email=email, by=request.user.person) + entry = Allowlisted(email=email, by=request.user.person) entry.save() success = True else: - form = WhitelistForm() + form = AllowlistForm() - return render(request, 'ietfauth/whitelist_form.html', { + return render(request, 'ietfauth/allowlist_form.html', { 'form': form, 'success': success, }) diff --git a/ietf/ipr/tests.py b/ietf/ipr/tests.py index a190306b1..fadbb4290 100644 --- a/ietf/ipr/tests.py +++ b/ietf/ipr/tests.py @@ -134,7 +134,7 @@ class IprTests(TestCase): def test_search(self): WgDraftFactory() # The test matching the prefix "draft" needs more than one thing to find draft = WgDraftFactory() - ipr = HolderIprDisclosureFactory(docs=[draft,],patent_info='Number: US12345\nTitle: A method of transfering bits\nInventor: A. Nonymous\nDate: 2000-01-01') + ipr = HolderIprDisclosureFactory(docs=[draft,],patent_info='Number: US12345\nTitle: A method of transferring bits\nInventor: A. Nonymous\nDate: 2000-01-01') url = urlreverse("ietf.ipr.views.search") @@ -262,7 +262,7 @@ class IprTests(TestCase): "iprdocrel_set-1-document": DocAlias.objects.filter(name__startswith="rfc").first().pk, "patent_number": "SE12345678901", "patent_inventor": "A. Nonymous", - "patent_title": "A method of transfering bits", + "patent_title": "A method of transferring bits", "patent_date": "2000-01-01", "has_patent_pending": False, "licensing": "royalty-free", @@ -277,7 +277,7 @@ class IprTests(TestCase): ipr = iprs[0] self.assertEqual(ipr.holder_legal_name, "Test Legal") self.assertEqual(ipr.state.slug, 'pending') - for item in ['SE12345678901','A method of transfering bits','2000-01-01']: + for item in ['SE12345678901','A method of transferring bits','2000-01-01']: self.assertIn(item, ipr.get_child().patent_info) self.assertTrue(isinstance(ipr.get_child(),HolderIprDisclosure)) self.assertEqual(len(outbox),1) @@ -318,7 +318,7 @@ class IprTests(TestCase): "iprdocrel_set-1-document": DocAlias.objects.filter(name__startswith="rfc").first().pk, "patent_number": "SE12345678901", "patent_inventor": "A. Nonymous", - "patent_title": "A method of transfering bits", + "patent_title": "A method of transferring bits", "patent_date": "2000-01-01", "has_patent_pending": False, "licensing": "royalty-free", @@ -332,7 +332,7 @@ class IprTests(TestCase): ipr = iprs[0] self.assertEqual(ipr.holder_legal_name, "Test Legal") self.assertEqual(ipr.state.slug, "pending") - for item in ['SE12345678901','A method of transfering bits','2000-01-01' ]: + for item in ['SE12345678901','A method of transferring bits','2000-01-01' ]: self.assertIn(item, ipr.get_child().patent_info) self.assertTrue(isinstance(ipr.get_child(),ThirdPartyIprDisclosure)) self.assertEqual(len(outbox),1) @@ -368,7 +368,7 @@ class IprTests(TestCase): "patent_date": "2000-01-01", "patent_inventor": "A. Nonymous", "patent_number": "SE12345678901", - "patent_title": "A method of transfering bits", + "patent_title": "A method of transferring bits", "submitter_email": "test@holder.com", "submitter_name": "Test Holder", "updates": [], @@ -414,7 +414,7 @@ class IprTests(TestCase): "iprdocrel_set-1-document": DocAlias.objects.filter(name__startswith="rfc").first().pk, "patent_number": "SE12345678901", "patent_inventor": "A. Nonymous", - "patent_title": "A method of transfering bits", + "patent_title": "A method of transferring bits", "patent_date": "2000-01-01", "has_patent_pending": False, "licensing": "royalty-free", @@ -450,7 +450,7 @@ class IprTests(TestCase): "iprdocrel_set-0-revisions": '00', "patent_number": "SE12345678901", "patent_inventor": "A. Nonymous", - "patent_title": "A method of transfering bits", + "patent_title": "A method of transferring bits", "patent_date": "2000-01-01", "has_patent_pending": False, "licensing": "royalty-free", @@ -753,4 +753,4 @@ Subject: test removed_docevent = doc.docevent_set.filter(type='removed_related_ipr').first() self.assertIn(ipr.title, removed_docevent.desc, 'IprDisclosure title does not appear in DocEvent desc when removed') - \ No newline at end of file + diff --git a/ietf/mailinglists/admin.py b/ietf/mailinglists/admin.py index aaa086823..90efaf9c9 100644 --- a/ietf/mailinglists/admin.py +++ b/ietf/mailinglists/admin.py @@ -2,7 +2,7 @@ from django.contrib import admin -from ietf.mailinglists.models import List, Subscribed, Whitelisted +from ietf.mailinglists.models import List, Subscribed, Allowlisted class ListAdmin(admin.ModelAdmin): @@ -18,6 +18,6 @@ class SubscribedAdmin(admin.ModelAdmin): admin.site.register(Subscribed, SubscribedAdmin) -class WhitelistedAdmin(admin.ModelAdmin): +class AllowlistedAdmin(admin.ModelAdmin): list_display = ('id', 'time', 'email', 'by') -admin.site.register(Whitelisted, WhitelistedAdmin) +admin.site.register(Allowlisted, AllowlistedAdmin) diff --git a/ietf/mailinglists/migrations/0003_allowlisted.py b/ietf/mailinglists/migrations/0003_allowlisted.py new file mode 100644 index 000000000..a3f098d9c --- /dev/null +++ b/ietf/mailinglists/migrations/0003_allowlisted.py @@ -0,0 +1,22 @@ +# Generated by Django 2.2.28 on 2022-12-05 14:26 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('person', '0029_use_timezone_now_for_person_models'), + ('mailinglists', '0002_auto_20190703_1344'), + ] + + operations = [ + migrations.RenameModel( + old_name='Whitelisted', + new_name='Allowlisted', + ), + migrations.AlterModelOptions( + name='allowlisted', + options={'verbose_name_plural': 'Allowlisted'}, + ), + ] diff --git a/ietf/mailinglists/models.py b/ietf/mailinglists/models.py index 606aab624..21f3a7671 100644 --- a/ietf/mailinglists/models.py +++ b/ietf/mailinglists/models.py @@ -28,12 +28,12 @@ class Subscribed(models.Model): class Meta: verbose_name_plural = "Subscribed" -class Whitelisted(models.Model): +class Allowlisted(models.Model): time = models.DateTimeField(auto_now_add=True) email = models.CharField("Email address", max_length=64, validators=[validate_email]) by = ForeignKey(Person) def __str__(self): - return "
The Secretariat will wait for instructions from{% endif %} @@ -30,4 +30,4 @@ Yes, the charter is NOT APPROVED; The charter needs more work, or the IESG decides to shelve formation of the working group. "The Secretariat will await further instruction from regarding the rechartering of this working group."
- The IESG decides the document needs more thime in INTERNAL REVIEW. The Secreatriat will put it back on the agenda for the next teleconference in the same category.
+ The IESG decides the document needs more time in INTERNAL REVIEW. The Secretariat will put it back on the agenda for the next teleconference in the same category.
The IESG has made changes since the charter was seen in INTERNAL REVIEW, and decides to send it back to INTERNAL REVIEW the charter again.
Please ask the requestor to try the account creation form - again, with the whitelisted email address. + again, with the allowlisted email address.
{% else %} -When an email request comes in for assistance with account creation because the automated account creation has failed, you can add the - address to an account creation whitelist here. + address to an account creation allowlist here.
Before you do so, please complete the following 3 verification steps: @@ -35,7 +35,7 @@
- If the answer to this question shows clue, then add the address to the whitelist + If the answer to this question shows clue, then add the address to the allowlist using this form, and ask the person to please try the account creation form again. @@ -72,7 +72,7 @@
{% endif %} {% endblock %} \ No newline at end of file diff --git a/ietf/templates/meeting/add_session_drafts.html b/ietf/templates/meeting/add_session_drafts.html index 1efcc5963..92c33ed4a 100644 --- a/ietf/templates/meeting/add_session_drafts.html +++ b/ietf/templates/meeting/add_session_drafts.html @@ -22,7 +22,7 @@