mirror of
https://github.com/ansible/awx.git
synced 2026-05-09 02:17:37 -02:30
require constituent resource access to relaunch WJ
This commit is contained in:
@@ -1656,11 +1656,6 @@ class WorkflowJobAccess(BaseAccess):
|
|||||||
if self.user not in wfjt.execute_role:
|
if self.user not in wfjt.execute_role:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
# WFJT is valid base for WJ, launch permitted
|
|
||||||
last_modified = wfjt.nodes_last_modified()
|
|
||||||
if last_modified and obj.created > last_modified:
|
|
||||||
return True
|
|
||||||
|
|
||||||
# user's WFJT access doesn't guarentee permission to launch, introspect nodes
|
# user's WFJT access doesn't guarentee permission to launch, introspect nodes
|
||||||
return self.can_recreate(obj)
|
return self.can_recreate(obj)
|
||||||
|
|
||||||
@@ -1672,8 +1667,8 @@ class WorkflowJobAccess(BaseAccess):
|
|||||||
if not node_access.can_add({'reference_obj': node}):
|
if not node_access.can_add({'reference_obj': node}):
|
||||||
wj_add_perm = False
|
wj_add_perm = False
|
||||||
if not wj_add_perm and self.save_messages:
|
if not wj_add_perm and self.save_messages:
|
||||||
self.messages['workflow_job_template'] = _('Template has been modified since job was launched, '
|
self.messages['workflow_job_template'] = _('You do not have permission to the workflow job '
|
||||||
'and you do not have permission to its resources.')
|
'resources required for relaunch.')
|
||||||
return wj_add_perm
|
return wj_add_perm
|
||||||
|
|
||||||
def can_cancel(self, obj):
|
def can_cancel(self, obj):
|
||||||
|
|||||||
@@ -327,9 +327,6 @@ class WorkflowJobOptions(BaseModel):
|
|||||||
new_workflow_job.copy_nodes_from_original(original=self)
|
new_workflow_job.copy_nodes_from_original(original=self)
|
||||||
return new_workflow_job
|
return new_workflow_job
|
||||||
|
|
||||||
def nodes_last_modified(self):
|
|
||||||
return self.workflow_nodes.aggregate(models.Max('modified'))['modified__max']
|
|
||||||
|
|
||||||
|
|
||||||
class WorkflowJobTemplate(UnifiedJobTemplate, WorkflowJobOptions, SurveyJobTemplateMixin, ResourceMixin):
|
class WorkflowJobTemplate(UnifiedJobTemplate, WorkflowJobOptions, SurveyJobTemplateMixin, ResourceMixin):
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|||||||
Reference in New Issue
Block a user