Add API endpoints for workflow approvals

This commit is contained in:
beeankha
2019-07-03 14:46:59 -04:00
committed by Ryan Petrello
parent 72a65f74fd
commit 9024a514a6
11 changed files with 304 additions and 17 deletions

View File

@@ -37,6 +37,7 @@ from awx.main.models import (
ProjectUpdateEvent, Role, Schedule, SystemJob, SystemJobEvent,
SystemJobTemplate, Team, UnifiedJob, UnifiedJobTemplate, WorkflowJob,
WorkflowJobNode, WorkflowJobTemplate, WorkflowJobTemplateNode,
WorkflowApproval, WorkflowApprovalTemplate,
ROLE_SINGLETON_SYSTEM_ADMINISTRATOR, ROLE_SINGLETON_SYSTEM_AUDITOR
)
from awx.main.models.mixins import ResourceMixin
@@ -2769,5 +2770,50 @@ class RoleAccess(BaseAccess):
return False
class WorkflowApprovalAccess(BaseAccess):
'''
I can approve workflows when:
- I'm authenticated
I can create when:
- I'm a superuser:
'''
model = WorkflowApproval
prefetch_related = ('created_by', 'modified_by',)
def can_read(self, obj):
return True
def can_use(self, obj):
return True
def filtered_queryset(self):
return self.model.objects.all()
def can_start(self, obj, validate_license=True):
return False
class WorkflowApprovalTemplateAccess(BaseAccess):
'''
I can approve workflows when:
- I'm authenticated
I can create when:
- I'm a superuser:
'''
model = WorkflowApprovalTemplate
prefetch_related = ('created_by', 'modified_by',)
def can_read(self, obj):
return True
def can_use(self, obj):
return True
def filtered_queryset(self):
return self.model.objects.all()
for cls in BaseAccess.__subclasses__():
access_registry[cls.model] = cls