mirror of
https://github.com/ansible/awx.git
synced 2026-06-24 16:17:51 -02:30
Resolve actions conflicts and delete unwatned files
Bump migrations and delete some files Resolve remaining conflicts Fix requirements Flake8 fixes Prefer devel changes for schema Use correct versions Remove sso connected stuff Update to modern actions and collection fixes Remove unwated alias Version problems in actions Fix more versioning problems Update warning string Messed it up again Shorten exception More removals Remove pbr license Remove tests deleted in devel Remove unexpected files Remove some content missed in the rebase Use sleep_task from devel Restore devel live conftest file Add in settings that got missed Prefer devel version of collection test Finish repairing .github path Remove unintended test file duplication Undo more unintended file additions
This commit is contained in:
@@ -749,81 +749,6 @@ def sync_parents_to_new_rbac(instance, action, model, pk_set, reverse, **kwargs)
|
||||
maybe_reverse_sync_unassignment(rd, team, child_role.content_object)
|
||||
|
||||
|
||||
ROLE_DEFINITION_TO_ROLE_FIELD = {
|
||||
'Organization Member': 'member_role',
|
||||
'WorkflowJobTemplate Admin': 'admin_role',
|
||||
'Organization WorkflowJobTemplate Admin': 'workflow_admin_role',
|
||||
'WorkflowJobTemplate Execute': 'execute_role',
|
||||
'WorkflowJobTemplate Approve': 'approval_role',
|
||||
'InstanceGroup Admin': 'admin_role',
|
||||
'InstanceGroup Use': 'use_role',
|
||||
'Organization ExecutionEnvironment Admin': 'execution_environment_admin_role',
|
||||
'Project Admin': 'admin_role',
|
||||
'Organization Project Admin': 'project_admin_role',
|
||||
'Project Use': 'use_role',
|
||||
'Project Update': 'update_role',
|
||||
'JobTemplate Admin': 'admin_role',
|
||||
'Organization JobTemplate Admin': 'job_template_admin_role',
|
||||
'JobTemplate Execute': 'execute_role',
|
||||
'Inventory Admin': 'admin_role',
|
||||
'Organization Inventory Admin': 'inventory_admin_role',
|
||||
'Inventory Use': 'use_role',
|
||||
'Inventory Adhoc': 'adhoc_role',
|
||||
'Inventory Update': 'update_role',
|
||||
'Organization NotificationTemplate Admin': 'notification_admin_role',
|
||||
'Credential Admin': 'admin_role',
|
||||
'Organization Credential Admin': 'credential_admin_role',
|
||||
'Credential Use': 'use_role',
|
||||
'Team Admin': 'admin_role',
|
||||
'Team Member': 'member_role',
|
||||
'Organization Admin': 'admin_role',
|
||||
'Organization Audit': 'auditor_role',
|
||||
'Organization Execute': 'execute_role',
|
||||
'Organization Approval': 'approval_role',
|
||||
}
|
||||
|
||||
|
||||
def _sync_assignments_to_old_rbac(instance, delete=True):
|
||||
from awx.main.signals import disable_activity_stream
|
||||
|
||||
with disable_activity_stream():
|
||||
with disable_rbac_sync():
|
||||
field_name = ROLE_DEFINITION_TO_ROLE_FIELD.get(instance.role_definition.name)
|
||||
if not field_name:
|
||||
return
|
||||
try:
|
||||
role = getattr(instance.object_role.content_object, field_name)
|
||||
# in the case RoleUserAssignment is being cascade deleted, then
|
||||
# object_role might not exist. In which case the object is about to be removed
|
||||
# anyways so just return
|
||||
except ObjectDoesNotExist:
|
||||
return
|
||||
if isinstance(instance.actor, get_user_model()):
|
||||
# user
|
||||
if delete:
|
||||
role.members.remove(instance.actor)
|
||||
else:
|
||||
role.members.add(instance.actor)
|
||||
else:
|
||||
# team
|
||||
if delete:
|
||||
instance.team.member_role.children.remove(role)
|
||||
else:
|
||||
instance.team.member_role.children.add(role)
|
||||
|
||||
|
||||
@receiver(post_delete, sender=RoleUserAssignment)
|
||||
@receiver(post_delete, sender=RoleTeamAssignment)
|
||||
def sync_assignments_to_old_rbac_delete(instance, **kwargs):
|
||||
_sync_assignments_to_old_rbac(instance, delete=True)
|
||||
|
||||
|
||||
@receiver(post_save, sender=RoleUserAssignment)
|
||||
@receiver(post_save, sender=RoleTeamAssignment)
|
||||
def sync_user_assignments_to_old_rbac_create(instance, **kwargs):
|
||||
_sync_assignments_to_old_rbac(instance, delete=False)
|
||||
|
||||
|
||||
ROLE_DEFINITION_TO_ROLE_FIELD = {
|
||||
'Organization Member': 'member_role',
|
||||
'Controller Organization Member': 'member_role',
|
||||
|
||||
Reference in New Issue
Block a user