Skip to content

Commit efcdc4d

Browse files
committed
Updated meeting attendance and nomcom eligibility calculations to take the MeetingRegistration.attendance flag into account.
- Legacy-Id: 17955
1 parent 8a6026c commit efcdc4d

3 files changed

Lines changed: 8 additions & 3 deletions

File tree

ietf/meeting/utils.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,12 @@ def finalize(meeting):
166166
return
167167

168168
def attended_ietf_meetings(person):
169-
return Meeting.objects.filter(type='ietf',meetingregistration__email__in=Email.objects.filter(person=person).values_list('address',flat=True))
169+
email_addresses = Email.objects.filter(person=person).values_list('address',flat=True)
170+
return Meeting.objects.filter(
171+
type='ietf',
172+
meetingregistration__email__in=email_addresses,
173+
meetingregistration__attended=True,
174+
)
170175

171176
def attended_in_last_five_ietf_meetings(person, date=datetime.datetime.today()):
172177
previous_five = Meeting.objects.filter(type='ietf',date__lte=date).order_by('-date')[:5]

ietf/nomcom/tests.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1821,7 +1821,7 @@ def first_meeting_of_year(year):
18211821
if not ' ' in ascii:
18221822
continue
18231823
first_name, last_name = ascii.rsplit(None, 1)
1824-
MeetingRegistration.objects.create(meeting=meeting, first_name=first_name, last_name=last_name, person=person, country_code='WO', email=email)
1824+
MeetingRegistration.objects.create(meeting=meeting, first_name=first_name, last_name=last_name, person=person, country_code='WO', email=email, attended=True)
18251825
# test the page
18261826
url = reverse('ietf.nomcom.views.eligible',kwargs={'year':self.nc.year()})
18271827
login_testing_unauthorized(self,self.chair.user.username,url)

ietf/nomcom/views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1251,7 +1251,7 @@ def eligible(request, year):
12511251
attendees = {}
12521252
potentials = set()
12531253
for m in previous_five:
1254-
registration_emails = m.meetingregistration_set.values_list('email',flat=True)
1254+
registration_emails = m.meetingregistration_set.filter(attended=True).values_list('email',flat=True)
12551255
attendees[m] = Person.objects.filter(email__address__in=registration_emails).distinct()
12561256
# See RFC8713 section 4.15
12571257
disqualified_roles = Role.objects.filter(DISQUALIFYING_ROLE_QUERY_EXPRESSION)

0 commit comments

Comments
 (0)