mirror of
https://github.com/ansible/awx.git
synced 2026-03-25 21:05:03 -02:30
Reapply fix for can_edit and can_copy when an inventory or project
associated with the job template have been deleted
This commit is contained in:
@@ -1348,13 +1348,16 @@ class JobTemplateSerializer(UnifiedJobTemplateSerializer, JobOptionsSerializer):
|
|||||||
if obj.survey_enabled and ('name' in obj.survey_spec and 'description' in obj.survey_spec):
|
if obj.survey_enabled and ('name' in obj.survey_spec and 'description' in obj.survey_spec):
|
||||||
d['survey'] = dict(title=obj.survey_spec['name'], description=obj.survey_spec['description'])
|
d['survey'] = dict(title=obj.survey_spec['name'], description=obj.survey_spec['description'])
|
||||||
request = self.context.get('request', None)
|
request = self.context.get('request', None)
|
||||||
if request is not None and request.user is not None:
|
if request is not None and request.user is not None and obj.inventory is not None and obj.project is not None:
|
||||||
d['can_copy'] = request.user.can_access(JobTemplate, 'add',
|
d['can_copy'] = request.user.can_access(JobTemplate, 'add',
|
||||||
{'inventory': obj.inventory.pk,
|
{'inventory': obj.inventory.pk,
|
||||||
'project': obj.project.pk})
|
'project': obj.project.pk})
|
||||||
d['can_edit'] = request.user.can_access(JobTemplate, 'change', obj,
|
d['can_edit'] = request.user.can_access(JobTemplate, 'change', obj,
|
||||||
{'inventory': obj.inventory.pk,
|
{'inventory': obj.inventory.pk,
|
||||||
'project': obj.project.pk})
|
'project': obj.project.pk})
|
||||||
|
elif request is not None and request.user is not None and request.user.is_superuser:
|
||||||
|
d['can_copy'] = True
|
||||||
|
d['can_edit'] = True
|
||||||
else:
|
else:
|
||||||
d['can_copy'] = False
|
d['can_copy'] = False
|
||||||
d['can_edit'] = False
|
d['can_edit'] = False
|
||||||
|
|||||||
Reference in New Issue
Block a user