mirror of
https://github.com/ansible/awx.git
synced 2026-05-07 01:17:37 -02:30
Allow sysadmins to be able to change the pull field for managed EEs
This commit is contained in:
@@ -695,6 +695,7 @@ class TeamAccessList(ResourceAccessList):
|
|||||||
|
|
||||||
class ExecutionEnvironmentList(ListCreateAPIView):
|
class ExecutionEnvironmentList(ListCreateAPIView):
|
||||||
|
|
||||||
|
always_allow_superuser = False
|
||||||
model = models.ExecutionEnvironment
|
model = models.ExecutionEnvironment
|
||||||
serializer_class = serializers.ExecutionEnvironmentSerializer
|
serializer_class = serializers.ExecutionEnvironmentSerializer
|
||||||
swagger_topic = "Execution Environments"
|
swagger_topic = "Execution Environments"
|
||||||
@@ -702,10 +703,22 @@ class ExecutionEnvironmentList(ListCreateAPIView):
|
|||||||
|
|
||||||
class ExecutionEnvironmentDetail(RetrieveUpdateDestroyAPIView):
|
class ExecutionEnvironmentDetail(RetrieveUpdateDestroyAPIView):
|
||||||
|
|
||||||
|
always_allow_superuser = False
|
||||||
model = models.ExecutionEnvironment
|
model = models.ExecutionEnvironment
|
||||||
serializer_class = serializers.ExecutionEnvironmentSerializer
|
serializer_class = serializers.ExecutionEnvironmentSerializer
|
||||||
swagger_topic = "Execution Environments"
|
swagger_topic = "Execution Environments"
|
||||||
|
|
||||||
|
def update(self, request, *args, **kwargs):
|
||||||
|
instance = self.get_object()
|
||||||
|
fields_to_check = ['name', 'description', 'organization', 'image', 'credential']
|
||||||
|
if instance.managed_by_tower and request.user.can_access(models.ExecutionEnvironment, 'change', instance):
|
||||||
|
for field in fields_to_check:
|
||||||
|
left = getattr(instance, field, None)
|
||||||
|
right = request.data.get(field, None)
|
||||||
|
if left != right:
|
||||||
|
raise PermissionDenied(_("Only the 'pull' field can be edited for managed execution environments."))
|
||||||
|
return super().update(request, *args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
class ExecutionEnvironmentJobTemplateList(SubListAPIView):
|
class ExecutionEnvironmentJobTemplateList(SubListAPIView):
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user