mirror of
https://github.com/ansible/awx.git
synced 2026-01-20 22:18:01 -03:30
Merge pull request #337 from AlanCoding/admin_cancel
allow WFJT admins to cancel scheduled jobs
This commit is contained in:
commit
8c117e9ef1
@ -1841,7 +1841,9 @@ class WorkflowJobAccess(BaseAccess):
|
||||
def can_cancel(self, obj):
|
||||
if not obj.can_cancel:
|
||||
return False
|
||||
return self.can_delete(obj) or self.user == obj.created_by
|
||||
if self.user == obj.created_by or self.can_delete(obj):
|
||||
return True
|
||||
return obj.workflow_job_template is not None and self.user in obj.workflow_job_template.admin_role
|
||||
|
||||
|
||||
class AdHocCommandAccess(BaseAccess):
|
||||
|
||||
@ -104,6 +104,11 @@ class TestWorkflowJobAccess:
|
||||
access = WorkflowJobAccess(rando)
|
||||
assert access.can_cancel(workflow_job)
|
||||
|
||||
def test_admin_cancel_access(self, wfjt, workflow_job, rando):
|
||||
wfjt.admin_role.members.add(rando)
|
||||
access = WorkflowJobAccess(rando)
|
||||
assert access.can_cancel(workflow_job)
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
class TestWFJTCopyAccess:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user