Skip to content

Commit f11b558

Browse files
committed
Refactor slightly to get rid of clunky "ex-ad" role, any future uses
should use GroupHistory/RoleHistory instead - Legacy-Id: 3370
1 parent dba0857 commit f11b558

4 files changed

Lines changed: 12 additions & 11 deletions

File tree

ietf/idrfc/views_search.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -570,7 +570,11 @@ def by_ad(request, name):
570570
ad_id = None
571571
ad_name = None
572572
if settings.USE_DB_REDESIGN_PROXY_CLASSES:
573-
for p in Person.objects.filter(email__role__name__in=("ad", "ex-ad")):
573+
responsible = Document.objects.values_list('ad', flat=True).distinct()
574+
for p in Person.objects.filter(Q(email__role__name="ad",
575+
email__role__group__type="area",
576+
email__role__group__state="active")
577+
| Q(pk__in=responsible)):
574578
if name == p.name.lower().replace(" ", "."):
575579
ad_id = p.id
576580
ad_name = p.name

ietf/ietfauth/decorators.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ def has_role(user, role_names):
8484
return False
8585

8686
role_qs = {
87-
"Area Director": Q(email__person=person, name="ad"),
87+
"Area Director": Q(email__person=person, name="ad", group__state="active"),
8888
"Secretariat": Q(email__person=person, name="secr", group__acronym="secretariat")
8989
}
9090

ietf/utils/test_data.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,12 @@ def make_test_data():
7070
email = Email.objects.create(
7171
address="ad%s@ietf.org" % i,
7272
person=p)
73-
Role.objects.create(
74-
name_id="ad" if i <= 5 else "ex-ad",
75-
group=area,
76-
email=email)
73+
if i < 6:
74+
# active
75+
Role.objects.create(
76+
name_id="ad",
77+
group=area,
78+
email=email)
7779

7880
# group chair
7981
u = User.objects.create(username="marschairman")

redesign/importing/import-roles.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
# SDOAuthorizedIndividual
3434

3535
area_director_role = name(RoleName, "ad", "Area Director")
36-
inactive_area_director_role = name(RoleName, "ex-ad", "Ex-Area Director", desc="Inactive Area Director")
3736
chair_role = name(RoleName, "chair", "Chair")
3837
editor_role = name(RoleName, "editor", "Editor")
3938
secretary_role = name(RoleName, "secr", "Secretary")
@@ -180,10 +179,6 @@
180179
if o.user_level == IESGLogin.SECRETARIAT_LEVEL:
181180
if not Role.objects.filter(name=secretary_role, email=email):
182181
Role.objects.create(name=secretary_role, group=Group.objects.get(acronym="secretariat"), email=email)
183-
elif o.user_level == IESGLogin.INACTIVE_AD_LEVEL:
184-
if not Role.objects.filter(name=inactive_area_director_role, email=email):
185-
# connect them directly to the IESG as we don't really know where they belong
186-
Role.objects.create(name=inactive_area_director_role, group=Group.objects.get(acronym="iesg"), email=email)
187182

188183
# AreaDirector
189184
for o in AreaDirector.objects.all():

0 commit comments

Comments
 (0)