Skip to content

Commit 3e80114

Browse files
committed
Merged in [17649] from rjsparks@nostrum.com:
Follow RFC8713 section 4.15 for roles that disqualify for nomcom. Fixes ietf-tools#2944. - Legacy-Id: 17651 Note: SVN reference [17649] has been migrated to Git commit b387599
2 parents 78963ec + b387599 commit 3e80114

2 files changed

Lines changed: 14 additions & 3 deletions

File tree

ietf/meeting/utils.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,10 +174,13 @@ def attended_in_last_five_ietf_meetings(person, date=datetime.datetime.today()):
174174

175175
def is_nomcom_eligible(person, date=datetime.date.today()):
176176
attended = attended_in_last_five_ietf_meetings(person, date)
177+
# See RFC8713 section 4.15
178+
is_isoc_board = person.role_set.filter(group__acronym='isocbot', name_id__in=['member', 'chair']).exists()
179+
is_ietf_trust = person.role_set.filter(group__acronym='ietf-trust', name_id__in=['member', 'chair']).exists()
180+
is_llc_board = person.role_set.filter(group__acronym='llc-board', name_id__in=['member', 'chair']).exists()
177181
is_iesg = person.role_set.filter(group__type_id='area',group__state='active',name_id='ad').exists()
178182
is_iab = person.role_set.filter(group__acronym='iab',name_id__in=['member','chair']).exists()
179-
is_iaoc = person.role_set.filter(group__acronym='iaoc',name_id__in=['member','chair']).exists()
180-
return len(attended)>=3 and not (is_iesg or is_iab or is_iaoc)
183+
return len(attended)>=3 and not any([is_isoc_board, is_ietf_trust, is_llc_board, is_iesg, is_iab])
181184

182185
def sort_accept_tuple(accept):
183186
tup = []

ietf/nomcom/views.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1250,7 +1250,15 @@ def eligible(request, year):
12501250
for m in previous_five:
12511251
registration_emails = m.meetingregistration_set.values_list('email',flat=True)
12521252
attendees[m] = Person.objects.filter(email__address__in=registration_emails).distinct()
1253-
potentials.update(attendees[m].exclude(role__group__type_id='area',role__group__state='active',role__name_id='ad').exclude(role__group__acronym='iab',role__name_id__in=['member','chair']).exclude(role__group__acronym='iaoc',role__name_id__in=['member','chair']))
1253+
# See RFC8713 section 4.15
1254+
potentials.update(
1255+
attendees[m] \
1256+
.exclude(role__group__acronym='isocbot', role__name_id__in=['member','chair']) \
1257+
.exclude(role__group__acronym='ietf-trust', role__name_id__in=['member','chair']) \
1258+
.exclude(role__group__acronym='llc-board', role__name_id__in=['member','chair']) \
1259+
.exclude(role__group__type_id='area',role__group__state='active',role__name_id='ad') \
1260+
.exclude(role__group__acronym='iab',role__name_id__in=['member','chair'])
1261+
)
12541262
eligible_persons = []
12551263
for p in potentials:
12561264
count = 0

0 commit comments

Comments
 (0)