mirror of
https://github.com/ansible/awx.git
synced 2026-05-08 09:57:35 -02:30
Add basic access for system jobs (super user only)
This commit is contained in:
@@ -1052,6 +1052,22 @@ class JobAccess(BaseAccess):
|
|||||||
def can_cancel(self, obj):
|
def can_cancel(self, obj):
|
||||||
return self.can_read(obj) and obj.can_cancel
|
return self.can_read(obj) and obj.can_cancel
|
||||||
|
|
||||||
|
class SystemJobTemplateAccess(BaseAccess):
|
||||||
|
'''
|
||||||
|
I can only see/manage System Job Templates if I'm a super user
|
||||||
|
'''
|
||||||
|
|
||||||
|
model = SystemJobTemplate
|
||||||
|
|
||||||
|
def can_start(self, obj):
|
||||||
|
return self.can_read(obj)
|
||||||
|
|
||||||
|
class SystemJobAccess(BaseAccess):
|
||||||
|
'''
|
||||||
|
I can only see manage System Jobs if I'm a super user
|
||||||
|
'''
|
||||||
|
pass
|
||||||
|
|
||||||
class JobHostSummaryAccess(BaseAccess):
|
class JobHostSummaryAccess(BaseAccess):
|
||||||
'''
|
'''
|
||||||
I can see job/host summary records whenever I can read both job and host.
|
I can see job/host summary records whenever I can read both job and host.
|
||||||
@@ -1366,6 +1382,8 @@ register_access(JobTemplate, JobTemplateAccess)
|
|||||||
register_access(Job, JobAccess)
|
register_access(Job, JobAccess)
|
||||||
register_access(JobHostSummary, JobHostSummaryAccess)
|
register_access(JobHostSummary, JobHostSummaryAccess)
|
||||||
register_access(JobEvent, JobEventAccess)
|
register_access(JobEvent, JobEventAccess)
|
||||||
|
register_access(SystemJobTemplate, SystemJobTemplateAccess)
|
||||||
|
register_access(SystemJob, SystemJobAccess)
|
||||||
register_access(Schedule, ScheduleAccess)
|
register_access(Schedule, ScheduleAccess)
|
||||||
register_access(UnifiedJobTemplate, UnifiedJobTemplateAccess)
|
register_access(UnifiedJobTemplate, UnifiedJobTemplateAccess)
|
||||||
register_access(UnifiedJob, UnifiedJobAccess)
|
register_access(UnifiedJob, UnifiedJobAccess)
|
||||||
|
|||||||
@@ -944,6 +944,10 @@ class SystemJobTemplate(UnifiedJobTemplate, SystemJobOptions):
|
|||||||
def _get_unified_job_field_names(cls):
|
def _get_unified_job_field_names(cls):
|
||||||
return ['name', 'description', 'job_type']
|
return ['name', 'description', 'job_type']
|
||||||
|
|
||||||
|
def get_absolute_url(self):
|
||||||
|
return reverse('api:system_job_template_detail', args=(self.pk,))
|
||||||
|
|
||||||
|
|
||||||
class SystemJob(UnifiedJob, SystemJobOptions):
|
class SystemJob(UnifiedJob, SystemJobOptions):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|||||||
Reference in New Issue
Block a user