Skip to content

Commit efdaee3

Browse files
authored
feat: decouple from mailman2 - explicitly model nonwg mailing lists (ietf-tools#7013)
* fix: remove synchronization with mailman2 * feat: manage non wg mailing lists explicitly * chore: black * fix: update tests for new nonwg view * feat: drop unused models
1 parent b4cf04a commit efdaee3

12 files changed

Lines changed: 687 additions & 286 deletions

File tree

ietf/bin/mailman_listinfo.py

Lines changed: 0 additions & 50 deletions
This file was deleted.

ietf/ietfauth/tests.py

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
from ietf.group.models import Group, Role, RoleName
3838
from ietf.ietfauth.htpasswd import update_htpasswd_file
3939
from ietf.ietfauth.utils import has_role
40-
from ietf.mailinglists.models import Subscribed
4140
from ietf.meeting.factories import MeetingFactory
4241
from ietf.nomcom.factories import NomComFactory
4342
from ietf.person.factories import PersonFactory, EmailFactory, UserFactory, PersonalApiKeyFactory
@@ -250,18 +249,6 @@ def test_create_allowlisted_account(self):
250249
# register and verify allowlisted email
251250
self.register_and_verify(email)
252251

253-
254-
def test_create_subscribed_account(self):
255-
# verify creation with email in subscribed list
256-
saved_delay = settings.LIST_ACCOUNT_DELAY
257-
settings.LIST_ACCOUNT_DELAY = 1
258-
email = "subscribed@example.com"
259-
s = Subscribed(email=email)
260-
s.save()
261-
time.sleep(1.1)
262-
self.register_and_verify(email)
263-
settings.LIST_ACCOUNT_DELAY = saved_delay
264-
265252
def test_create_existing_account(self):
266253
# create account once
267254
email = "new-account@example.com"

ietf/ietfauth/views.py

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -160,18 +160,8 @@ def create_account(request):
160160
)
161161
new_account_email = None # Indicate to the template that we failed to create the requested account
162162
else:
163-
# For the IETF 113 Registration period (at least) we are lowering the
164-
# barriers for account creation to the simple email round-trip check
165163
send_account_creation_email(request, new_account_email)
166164

167-
# The following is what to revert to should that lowered barrier prove problematic
168-
# existing = Subscribed.objects.filter(email__iexact=new_account_email).first()
169-
# ok_to_create = ( Allowlisted.objects.filter(email__iexact=new_account_email).exists()
170-
# or existing and (existing.time + TimeDelta(seconds=settings.LIST_ACCOUNT_DELAY)) < DateTime.now() )
171-
# if ok_to_create:
172-
# send_account_creation_email(request, new_account_email)
173-
# else:
174-
# return render(request, 'registration/manual.html', { 'account_request_email': settings.ACCOUNT_REQUEST_EMAIL })
175165
else:
176166
form = RegistrationForm()
177167

ietf/mailinglists/admin.py

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,15 @@
22

33
from django.contrib import admin
44

5-
from ietf.mailinglists.models import List, Subscribed, Allowlisted
5+
from ietf.mailinglists.models import NonWgMailingList, Allowlisted
66

77

8-
class ListAdmin(admin.ModelAdmin):
9-
list_display = ('id', 'name', 'description', 'advertised')
10-
search_fields = ('name',)
11-
admin.site.register(List, ListAdmin)
128

139

14-
class SubscribedAdmin(admin.ModelAdmin):
15-
list_display = ('id', 'time', 'email')
16-
raw_id_fields = ('lists',)
17-
search_fields = ('email',)
18-
admin.site.register(Subscribed, SubscribedAdmin)
10+
class NonWgMailingListAdmin(admin.ModelAdmin):
11+
list_display = ('id', 'name', 'description')
12+
search_fields = ('name',)
13+
admin.site.register(NonWgMailingList, NonWgMailingListAdmin)
1914

2015

2116
class AllowlistedAdmin(admin.ModelAdmin):

ietf/mailinglists/factories.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,14 @@
33

44

55
import factory
6-
import random
76

8-
from ietf.mailinglists.models import List
7+
from ietf.mailinglists.models import NonWgMailingList
98

10-
class ListFactory(factory.django.DjangoModelFactory):
9+
class NonWgMailingListFactory(factory.django.DjangoModelFactory):
1110
class Meta:
12-
model = List
11+
model = NonWgMailingList
1312

1413
name = factory.Sequence(lambda n: "list-name-%s" % n)
1514
description = factory.Faker('sentence', nb_words=10)
16-
advertised = factory.LazyAttribute(lambda obj: random.randint(0, 1))
1715

1816

ietf/mailinglists/management/commands/import_mailman_listinfo.py

Lines changed: 0 additions & 130 deletions
This file was deleted.

0 commit comments

Comments
 (0)