Merged in [19544] from rjsparks@nostrum.com:

Adjust dots claim based on 112 Plenary feedback
 - Legacy-Id: 19562
Note: SVN reference [19544] has been migrated to Git commit 41ddb37e01
This commit is contained in:
Robert Sparks 2021-11-08 18:38:39 +00:00
commit a7eb07b563
3 changed files with 35 additions and 8 deletions

View file

@ -27,7 +27,7 @@ from ietf.person.factories import EmailFactory, PersonFactory, UserFactory
from ietf.person.models import Person, Alias from ietf.person.models import Person, Alias
from ietf.person.utils import (merge_persons, determine_merge_order, send_merge_notification, from ietf.person.utils import (merge_persons, determine_merge_order, send_merge_notification,
handle_users, get_extra_primary, dedupe_aliases, move_related_objects, merge_nominees, handle_users, get_extra_primary, dedupe_aliases, move_related_objects, merge_nominees,
handle_reviewer_settings, merge_users) handle_reviewer_settings, merge_users, get_dots)
from ietf.review.models import ReviewerSettings from ietf.review.models import ReviewerSettings
from ietf.utils.test_utils import TestCase, login_testing_unauthorized from ietf.utils.test_utils import TestCase, login_testing_unauthorized
from ietf.utils.mail import outbox, empty_outbox from ietf.utils.mail import outbox, empty_outbox
@ -373,3 +373,30 @@ class PersonUtilsTests(TestCase):
self.assertIn(communitylist, target.communitylist_set.all()) self.assertIn(communitylist, target.communitylist_set.all())
self.assertIn(feedback, target.feedback_set.all()) self.assertIn(feedback, target.feedback_set.all())
self.assertIn(nomination, target.nomination_set.all()) self.assertIn(nomination, target.nomination_set.all())
def test_dots(self):
noroles = PersonFactory()
self.assertEqual(get_dots(noroles),[])
wgchair = RoleFactory(name_id='chair',group__type_id='wg').person
self.assertEqual(get_dots(wgchair),['chair'])
ad = RoleFactory(name_id='ad',group__acronym='iesg').person
self.assertEqual(get_dots(ad),['iesg'])
iabmember = RoleFactory(name_id='member',group__acronym='iab').person
self.assertEqual(get_dots(iabmember),['iab'])
iabchair = RoleFactory(name_id='chair',group__acronym='iab').person
RoleFactory(person=iabchair,group__acronym='iab',name_id='member')
self.assertEqual(set(get_dots(iabchair)),set(['iab','iesg']))
llcboard = RoleFactory(name_id='member',group__acronym='llc-board').person
self.assertEqual(get_dots(llcboard),['llc'])
ietftrust = RoleFactory(name_id='member',group__acronym='ietf-trust').person
self.assertEqual(get_dots(ietftrust),['trust'])
ncmember = RoleFactory(group__acronym='nomcom2020',group__type_id='nomcom',name_id='member').person
self.assertEqual(get_dots(ncmember),['nomcom'])
ncchair = RoleFactory(group__acronym='nomcom2020',group__type_id='nomcom',name_id='chair').person
self.assertEqual(get_dots(ncchair),['nomcom'])

View file

@ -11,6 +11,7 @@ import syslog
from django.contrib import admin from django.contrib import admin
from django.core.cache import cache from django.core.cache import cache
from django.core.exceptions import ObjectDoesNotExist from django.core.exceptions import ObjectDoesNotExist
from django.db.models import Q
import debug # pyflakes:ignore import debug # pyflakes:ignore
@ -222,12 +223,11 @@ def get_active_irsg():
def get_dots(person): def get_dots(person):
roles = person.role_set.filter(group__state_id__in=('active','bof','proposed')) roles = person.role_set.filter(group__state_id__in=('active','bof','proposed'))
chair_group_types = ['wg', 'program', 'rg', 'iabasg']
dots = [] dots = []
if roles.filter(name_id='chair',group__type_id__in=chair_group_types).exists(): if roles.filter(group__type_id='wg',name_id='chair').exists():
dots.append('chair') dots.append('chair')
if roles.filter(group__acronym='iesg',name_id='ad').exists(): if roles.filter(Q(group__acronym='iesg',name_id='ad')|Q(group__acronym='iab',name_id='chair')).exists():
dots.append('ad') dots.append('iesg')
if roles.filter(group__acronym='iab',name_id='member').exists(): if roles.filter(group__acronym='iab',name_id='member').exists():
dots.append('iab') dots.append('iab')
if roles.filter(group__acronym='irsg').exists(): if roles.filter(group__acronym='irsg').exists():

View file

@ -5,9 +5,9 @@
# to this file in trunk/ by the merge master, and it will also be included in # to this file in trunk/ by the merge master, and it will also be included in
# the merge list. # the merge list.
/personal/rjsparks/7.39.1.dev1@19554 /personal/rjs/7.39.1.dev1@19554
/personal/rjsparks/7.39.1.dev1@19553 /personal/rjs/7.39.1.dev1@19553
/personal/rjsparks/7.39.1.dev1@19544 /personal/rjs/7.39.1.dev1@19544
# --- Add entries at the top --- # --- Add entries at the top ---
/personal/rcross/7.39.1.dev0@19488 /personal/rcross/7.39.1.dev0@19488