Skip to content

Commit 41ddb37

Browse files
committed
Adjust dots claim based on 112 Plenary feedback
- Legacy-Id: 19544
1 parent 24100b7 commit 41ddb37

2 files changed

Lines changed: 32 additions & 5 deletions

File tree

ietf/person/tests.py

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
from ietf.person.models import Person, Alias
2828
from ietf.person.utils import (merge_persons, determine_merge_order, send_merge_notification,
2929
handle_users, get_extra_primary, dedupe_aliases, move_related_objects, merge_nominees,
30-
handle_reviewer_settings, merge_users)
30+
handle_reviewer_settings, merge_users, get_dots)
3131
from ietf.review.models import ReviewerSettings
3232
from ietf.utils.test_utils import TestCase, login_testing_unauthorized
3333
from ietf.utils.mail import outbox, empty_outbox
@@ -373,3 +373,30 @@ def test_merge_users(self):
373373
self.assertIn(communitylist, target.communitylist_set.all())
374374
self.assertIn(feedback, target.feedback_set.all())
375375
self.assertIn(nomination, target.nomination_set.all())
376+
377+
def test_dots(self):
378+
noroles = PersonFactory()
379+
self.assertEqual(get_dots(noroles),[])
380+
wgchair = RoleFactory(name_id='chair',group__type_id='wg').person
381+
self.assertEqual(get_dots(wgchair),['chair'])
382+
ad = RoleFactory(name_id='ad',group__acronym='iesg').person
383+
self.assertEqual(get_dots(ad),['iesg'])
384+
iabmember = RoleFactory(name_id='member',group__acronym='iab').person
385+
self.assertEqual(get_dots(iabmember),['iab'])
386+
iabchair = RoleFactory(name_id='chair',group__acronym='iab').person
387+
RoleFactory(person=iabchair,group__acronym='iab',name_id='member')
388+
self.assertEqual(set(get_dots(iabchair)),set(['iab','iesg']))
389+
llcboard = RoleFactory(name_id='member',group__acronym='llc-board').person
390+
self.assertEqual(get_dots(llcboard),['llc'])
391+
ietftrust = RoleFactory(name_id='member',group__acronym='ietf-trust').person
392+
self.assertEqual(get_dots(ietftrust),['trust'])
393+
ncmember = RoleFactory(group__acronym='nomcom2020',group__type_id='nomcom',name_id='member').person
394+
self.assertEqual(get_dots(ncmember),['nomcom'])
395+
ncchair = RoleFactory(group__acronym='nomcom2020',group__type_id='nomcom',name_id='chair').person
396+
self.assertEqual(get_dots(ncchair),['nomcom'])
397+
398+
399+
400+
401+
402+

ietf/person/utils.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from django.contrib import admin
1212
from django.core.cache import cache
1313
from django.core.exceptions import ObjectDoesNotExist
14+
from django.db.models import Q
1415

1516
import debug # pyflakes:ignore
1617

@@ -222,12 +223,11 @@ def get_active_irsg():
222223

223224
def get_dots(person):
224225
roles = person.role_set.filter(group__state_id__in=('active','bof','proposed'))
225-
chair_group_types = ['wg', 'program', 'rg', 'iabasg']
226226
dots = []
227-
if roles.filter(name_id='chair',group__type_id__in=chair_group_types).exists():
227+
if roles.filter(group__type_id='wg',name_id='chair').exists():
228228
dots.append('chair')
229-
if roles.filter(group__acronym='iesg',name_id='ad').exists():
230-
dots.append('ad')
229+
if roles.filter(Q(group__acronym='iesg',name_id='ad')|Q(group__acronym='iab',name_id='chair')).exists():
230+
dots.append('iesg')
231231
if roles.filter(group__acronym='iab',name_id='member').exists():
232232
dots.append('iab')
233233
if roles.filter(group__acronym='irsg').exists():

0 commit comments

Comments
 (0)