diff --git a/apps/orgs/models.py b/apps/orgs/models.py index c4208d7d0..4bcb14e33 100644 --- a/apps/orgs/models.py +++ b/apps/orgs/models.py @@ -16,9 +16,14 @@ class OrgRoleMixin: def add_member(self, user, role=None): from rbac.builtin import BuiltinRole from .utils import tmp_to_org - role_id = BuiltinRole.org_user.id + if role: role_id = role.id + elif user.is_service_account: + role_id = BuiltinRole.system_component.id + else: + role_id = BuiltinRole.org_user.id + with tmp_to_org(self): defaults = { 'user': user, 'role_id': role_id,