mirror of
https://github.com/ansible/awx.git
synced 2026-05-17 22:37:41 -02:30
Added Team.migrate_to_rbac and tests
This commit is contained in:
@@ -129,6 +129,8 @@ class Team(CommonModelNameNotUnique, ResourceMixin):
|
|||||||
member_role = ImplicitRoleField(
|
member_role = ImplicitRoleField(
|
||||||
role_name='Team Member',
|
role_name='Team Member',
|
||||||
parent_role='admin_role',
|
parent_role='admin_role',
|
||||||
|
resource_field='resource',
|
||||||
|
permissions = {'read':True},
|
||||||
)
|
)
|
||||||
|
|
||||||
def get_absolute_url(self):
|
def get_absolute_url(self):
|
||||||
@@ -142,6 +144,13 @@ class Team(CommonModelNameNotUnique, ResourceMixin):
|
|||||||
cred.mark_inactive()
|
cred.mark_inactive()
|
||||||
super(Team, self).mark_inactive(save=save)
|
super(Team, self).mark_inactive(save=save)
|
||||||
|
|
||||||
|
def migrate_to_rbac(self):
|
||||||
|
migrated = []
|
||||||
|
for user in self.users.all():
|
||||||
|
self.member_role.members.add(user)
|
||||||
|
migrated.append(user)
|
||||||
|
return migrated
|
||||||
|
|
||||||
class Permission(CommonModelNameNotUnique):
|
class Permission(CommonModelNameNotUnique):
|
||||||
'''
|
'''
|
||||||
A permission allows a user, project, or team to be able to use an inventory source.
|
A permission allows a user, project, or team to be able to use an inventory source.
|
||||||
|
|||||||
13
awx/main/tests/functional/test_rbac_team.py
Normal file
13
awx/main/tests/functional/test_rbac_team.py
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
import pytest
|
||||||
|
|
||||||
|
@pytest.mark.django_db
|
||||||
|
def test_team_migration_user(team, user, permissions):
|
||||||
|
u = user('user', False)
|
||||||
|
team.users.add(u)
|
||||||
|
|
||||||
|
assert not team.accessible_by(u, permissions['auditor'])
|
||||||
|
|
||||||
|
migrated = team.migrate_to_rbac()
|
||||||
|
assert len(migrated) == 1
|
||||||
|
assert team.accessible_by(u, permissions['auditor'])
|
||||||
|
|
||||||
Reference in New Issue
Block a user