Skip to content

Commit c2fb5e5

Browse files
fix: Group.used_roles overrides default_used_roles (ietf-tools#4118)
1 parent eda494a commit c2fb5e5

2 files changed

Lines changed: 12 additions & 1 deletion

File tree

ietf/group/forms.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,10 @@ def __init__(self, *args, **kwargs):
7979
self.used_roles = self.group.used_roles or group_features.default_used_roles
8080
else:
8181
group_features = GroupFeatures.objects.filter(type_id=self.group_type).first()
82+
self.used_roles = group_features.default_used_roles
8283

8384
log.assertion('group_features is not None')
8485
if group_features is not None:
85-
self.used_roles = group_features.default_used_roles
8686
parent_types = group_features.parent_types.all()
8787
need_parent = group_features.need_parent
8888
default_parent = group_features.default_parent

ietf/group/tests_info.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import debug # pyflakes:ignore
1717

1818
from django.conf import settings
19+
from django.test import RequestFactory
1920
from django.urls import reverse as urlreverse
2021
from django.urls import NoReverseMatch
2122
from django.utils import timezone
@@ -1086,6 +1087,16 @@ def test_edit_roles(self):
10861087
RoleFactory(name_id=rslug, group=group, person=PersonFactory())
10871088
self.do_edit_roles_test(group)
10881089

1090+
def test_used_roles_overrides_default(self):
1091+
"""A group's used_roles should override the GroupFeatures default"""
1092+
request_factory = RequestFactory()
1093+
group = GroupFactory(type_id='wg')
1094+
self.assertEqual(GroupForm(request_factory.get('/some/url'), group=group).used_roles, group.features.default_used_roles)
1095+
group.used_roles = ['ad', 'chair']
1096+
group.save()
1097+
self.assertNotEqual(group.used_roles, group.features.default_used_roles)
1098+
self.assertEqual(GroupForm(request_factory.get('/some/url'), group=group).used_roles, group.used_roles)
1099+
10891100
def test_need_parent(self):
10901101
"""GroupForm should enforce non-null parent when required"""
10911102
group = GroupFactory()

0 commit comments

Comments
 (0)