From a29480703f7ec6d15f5205dc71fba430b3b48c09 Mon Sep 17 00:00:00 2001 From: Robert Sparks Date: Thu, 22 Jul 2021 19:29:50 +0000 Subject: [PATCH] Changed implementation of can_manage_all_groups_of_type to use GroupFeatures.groupman_authroles. Commit ready for merge. - Legacy-Id: 19259 --- ietf/group/utils.py | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/ietf/group/utils.py b/ietf/group/utils.py index 6563b10f5..101c8e1b4 100644 --- a/ietf/group/utils.py +++ b/ietf/group/utils.py @@ -105,27 +105,17 @@ def save_milestone_in_history(milestone): return h -# TODO: rework this using features.groupman_authroles def can_manage_all_groups_of_type(user, type_id): if not user.is_authenticated: return False log.assertion("isinstance(type_id, (type(''), type(u'')))") - if type_id == "rg": - return has_role(user, ('IRTF Chair', 'Secretariat')) - elif type_id == "wg": - return has_role(user, ('Area Director', 'Secretariat')) - elif type_id == "team": - return has_role(user, ('Area Director', 'Secretariat')) - elif type_id == "program": - return has_role(user, ('IAB', 'Secretariat',)) - return has_role(user, ('Secretariat')) + return has_role(user, GroupFeatures.objects.get(type_id=type_id).groupman_authroles) def can_manage_group(user, group): if not user.is_authenticated: return False - for authrole in group.features.groupman_authroles: - if has_role(user, authrole): - return True + if has_role(user, group.features.groupman_authroles): + return True return group.has_role(user, group.features.groupman_roles) def milestone_reviewer_for_group_type(group_type):