From 886b99c2734b9924e245781204144609ab0e8ad0 Mon Sep 17 00:00:00 2001 From: Russ Housley Date: Thu, 13 May 2021 20:34:11 +0000 Subject: [PATCH] Add aliases for RGs in irtf.org and IAB programs in iab.org. Fixes #3271 - Legacy-Id: 18993 --- .../commands/generate_group_aliases.py | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/ietf/group/management/commands/generate_group_aliases.py b/ietf/group/management/commands/generate_group_aliases.py index 7ce4da4b8..d6b4af234 100755 --- a/ietf/group/management/commands/generate_group_aliases.py +++ b/ietf/group/management/commands/generate_group_aliases.py @@ -20,9 +20,12 @@ from ietf.name.models import GroupTypeName from ietf.utils.aliases import dump_sublist DEFAULT_YEARS = 5 -ACTIVE_STATES=['active', 'bof', 'proposed'] +ACTIVE_STATES=['active','bof','proposed'] GROUP_TYPES=['wg','rg','dir','team','review','program'] NO_AD_GROUP_TYPES=['rg','team','program'] +IETF_DOMAIN=['ietf.org', ] +IRTF_DOMAIN=['irtf.org', ] +IAB_DOMAIN=['iab.org', ] class Command(BaseCommand): help = ('Generate the group-aliases and group-virtual files for Internet-Draft ' @@ -44,10 +47,15 @@ class Command(BaseCommand): vfile.write(signature) vfile.write("%s anything\n" % settings.GROUP_VIRTUAL_DOMAIN) - alias_domains = ['ietf.org', ] - # Loop through each group type and build -ads and -chairs entries for g in GROUP_TYPES: + domains = [] + domains += IETF_DOMAIN + if g == 'rg': + domains += IRTF_DOMAIN + if g == 'program': + domains += IAB_DOMAIN + entries = Group.objects.filter(type=g).all() active_entries = entries.filter(state__in=ACTIVE_STATES) inactive_recent_entries = entries.exclude(state__in=ACTIVE_STATES).filter(time__gte=show_since) @@ -55,11 +63,12 @@ class Command(BaseCommand): for e in interesting_entries.distinct().iterator(): name = e.acronym + # Research groups, teams, and programs do not have -ads lists if not g in NO_AD_GROUP_TYPES: - dump_sublist(afile, vfile, name+'-ads', ['ietf.org', ], settings.GROUP_VIRTUAL_DOMAIN, get_group_ad_emails(e)) + dump_sublist(afile, vfile, name+'-ads', domains, settings.GROUP_VIRTUAL_DOMAIN, get_group_ad_emails(e)) # All group types have -chairs lists - dump_sublist(afile, vfile, name+'-chairs', ['ietf.org', ], settings.GROUP_VIRTUAL_DOMAIN, get_group_role_emails(e, ['chair', 'secr'])) + dump_sublist(afile, vfile, name+'-chairs', domains, settings.GROUP_VIRTUAL_DOMAIN, get_group_role_emails(e, ['chair', 'secr'])) # The area lists include every chair in active working groups in the area areas = Group.objects.filter(type='area').all() @@ -67,14 +76,14 @@ class Command(BaseCommand): for area in active_areas: name = area.acronym area_ad_emails = get_group_role_emails(area, ['pre-ad', 'ad', 'chair']) - dump_sublist(afile, vfile, name+'-ads', alias_domains, settings.GROUP_VIRTUAL_DOMAIN, area_ad_emails) - dump_sublist(afile, vfile, name+'-chairs', alias_domains, settings.GROUP_VIRTUAL_DOMAIN, (get_child_group_role_emails(area, ['chair', 'secr']) | area_ad_emails)) + dump_sublist(afile, vfile, name+'-ads', IETF_DOMAIN, settings.GROUP_VIRTUAL_DOMAIN, area_ad_emails) + dump_sublist(afile, vfile, name+'-chairs', IETF_DOMAIN, settings.GROUP_VIRTUAL_DOMAIN, (get_child_group_role_emails(area, ['chair', 'secr']) | area_ad_emails)) # Other groups with chairs that require Internet-Draft submission approval gtypes = GroupTypeName.objects.values_list('slug', flat=True) special_groups = Group.objects.filter(type__features__req_subm_approval=True, acronym__in=gtypes, state='active') for group in special_groups: - dump_sublist(afile, vfile, group.acronym+'-chairs', alias_domains, settings.GROUP_VIRTUAL_DOMAIN, get_group_role_emails(group, ['chair', 'delegate'])) + dump_sublist(afile, vfile, group.acronym+'-chairs', IETF_DOMAIN, settings.GROUP_VIRTUAL_DOMAIN, get_group_role_emails(group, ['chair', 'delegate'])) afile.close() vfile.close() \ No newline at end of file