mirror of
https://github.com/ansible/awx.git
synced 2026-03-02 09:18:48 -03:30
Add instance groups roles (#13584)
* adding roles to instance groups added ResourceMixin to Instancegroup and changed the filtered_queryset * added necessary changes to rebuild relationship between IG and roles * added description to InstanceGroupAccess * preliminary ui plug for demo purposes * preliminary ui plug for demo purposes added inventory special logic for use_role to allow attaching instance groups added more tests to handle those cases * Add access_list to InstanceGroup * scratch branch to test migration work * refactored to shorten logic * Added migration and am removing logic that enabled Org admin permissions * Add Obj admin role to JT, Inv, Org * Changed tests to reflect new permissions * refactored some of the tests * cleaned up more tests and reworded help on InstanceGroupAccess * Removed unnecessary delete of Route for instance group perms change * Fix UI tests and migration * fixed permissions on prompt for InstanceGroups * added related object roles endpoint * added ui/api function for options instance_groups * separate the migrations in order to avoid issues with migrations not being finished * changed migrations parent class to disable the activity stream error in migrations * Added logging to migration as activitystream is disabled * added clarifying comment to jobtemlateaccess and linted UI addition * renamed migrations to avoid collisions * Rename migrations to avoid collisions
This commit is contained in:
@@ -466,6 +466,23 @@ class InstanceGroupUnifiedJobsList(SubListAPIView):
|
||||
relationship = "unifiedjob_set"
|
||||
|
||||
|
||||
class InstanceGroupAccessList(ResourceAccessList):
|
||||
model = models.User # needs to be User for AccessLists
|
||||
parent_model = models.InstanceGroup
|
||||
|
||||
|
||||
class InstanceGroupObjectRolesList(SubListAPIView):
|
||||
model = models.Role
|
||||
serializer_class = serializers.RoleSerializer
|
||||
parent_model = models.InstanceGroup
|
||||
search_fields = ('role_field', 'content_type__model')
|
||||
|
||||
def get_queryset(self):
|
||||
po = self.get_parent_object()
|
||||
content_type = ContentType.objects.get_for_model(self.parent_model)
|
||||
return models.Role.objects.filter(content_type=content_type, object_id=po.pk)
|
||||
|
||||
|
||||
class InstanceGroupInstanceList(InstanceGroupMembershipMixin, SubListAttachDetachAPIView):
|
||||
name = _("Instance Group's Instances")
|
||||
model = models.Instance
|
||||
|
||||
Reference in New Issue
Block a user