Repository: ietf-tools/datatracker

Issue:
Missing chair email aliases for research area groups
### Describe the issue

There are two Research Area Groups in the datatracker, anrw and irtfopen. These groups have a chair listed, but the email expansions at https://datatracker.ietf.org/group/irtfopen/email/ appear to be missing the chairs alias (irtfopen-chair@ietf.org) and email sent to that address bounces. Similarly, presumably, for anrw.



### Code of Conduct

- [X] I agree to follow the [IETF's Code of Conduct](https://github.com/ietf-tools/.github/blob/main/CODE_OF_CONDUCT.md)


Discussion:
GROUP_TYPES in https://github.com/ietf-tools/datatracker/blob/main/ietf/group/management/commands/generate_group_aliases.py needs to be updated

Resolving patch:
diff --git a/ietf/group/management/commands/generate_group_aliases.py b/ietf/group/management/commands/generate_group_aliases.py
--- a/ietf/group/management/commands/generate_group_aliases.py
+++ b/ietf/group/management/commands/generate_group_aliases.py
@@ -26,8 +26,8 @@
 
 DEFAULT_YEARS = 5
 ACTIVE_STATES=['active', 'bof', 'proposed']
-GROUP_TYPES=['wg', 'rg', 'dir', 'team', 'review', 'program', 'rfcedtyp']
-NO_AD_GROUP_TYPES=['rg', 'team', 'program', 'rfcedtyp']
+GROUP_TYPES=['wg', 'rg', 'rag', 'dir', 'team', 'review', 'program', 'rfcedtyp']
+NO_AD_GROUP_TYPES=['rg', 'rag', 'team', 'program', 'rfcedtyp']
 IETF_DOMAIN=['ietf.org', ]
 IRTF_DOMAIN=['irtf.org', ]
 IAB_DOMAIN=['iab.org', ]
@@ -61,7 +61,7 @@ def handle(self, *args, **options):
         for g in GROUP_TYPES:
             domains = []
             domains += IETF_DOMAIN
-            if g == 'rg':
+            if g in ('rg', 'rag'):
                 domains += IRTF_DOMAIN
             if g == 'program':
                 domains += IAB_DOMAIN


Test patch:
diff --git a/ietf/group/tests.py b/ietf/group/tests.py
--- a/ietf/group/tests.py
+++ b/ietf/group/tests.py
@@ -142,6 +142,9 @@ def testManagementCommand(self):
         testrg = GroupFactory(type_id='rg', acronym='testrg', parent=irtf)
         testrgchair = PersonFactory(user__username='testrgchair')
         testrg.role_set.create(name_id='chair', person=testrgchair, email=testrgchair.email())
+        testrag = GroupFactory(type_id='rg', acronym='testrag', parent=irtf)
+        testragchair = PersonFactory(user__username='testragchair')
+        testrag.role_set.create(name_id='chair', person=testragchair, email=testragchair.email())
         individual = PersonFactory()
 
         args = [ ]
@@ -184,6 +187,7 @@ def testManagementCommand(self):
                 ameschair.email_address(),
                 recentchair.email_address(),
                 testrgchair.email_address(),
+                testragchair.email_address(),
             ]]))
             self.assertFalse(all([x in vcontent for x in [
                 done_ad.email_address(),
@@ -200,8 +204,11 @@ def testManagementCommand(self):
                 'xfilter-' + recent.acronym + '-ads',
                 'xfilter-' + recent.acronym + '-chairs',
                 'xfilter-' + testrg.acronym + '-chairs',
+                'xfilter-' + testrag.acronym + '-chairs',
                 testrg.acronym + '-chairs@ietf.org',
                 testrg.acronym + '-chairs@irtf.org',
+                testrag.acronym + '-chairs@ietf.org',
+                testrag.acronym + '-chairs@irtf.org',
             ]]))
             self.assertFalse(all([x in vcontent for x in [
                 'xfilter-' + done.acronym + '-ads',