diff --git a/awx/api/serializers.py b/awx/api/serializers.py index 20cfe7264f..4ae7caf54a 100644 --- a/awx/api/serializers.py +++ b/awx/api/serializers.py @@ -2197,7 +2197,7 @@ class WorkflowJobTemplateSerializer(LabelsListMixin, UnifiedJobTemplateSerialize res = super(WorkflowJobTemplateSerializer, self).get_related(obj) res.update(dict( jobs = reverse('api:workflow_job_template_jobs_list', args=(obj.pk,)), - #schedules = reverse('api:workflow_job_template_schedules_list', args=(obj.pk,)), + schedules = reverse('api:workflow_job_template_schedules_list', args=(obj.pk,)), launch = reverse('api:workflow_job_template_launch', args=(obj.pk,)), workflow_nodes = reverse('api:workflow_job_template_workflow_nodes_list', args=(obj.pk,)), labels = reverse('api:workflow_job_template_label_list', args=(obj.pk,)), diff --git a/awx/api/urls.py b/awx/api/urls.py index 2e1ad4afad..f760506309 100644 --- a/awx/api/urls.py +++ b/awx/api/urls.py @@ -262,6 +262,7 @@ workflow_job_template_urls = patterns('awx.api.views', url(r'^(?P[0-9]+)/$', 'workflow_job_template_detail'), url(r'^(?P[0-9]+)/jobs/$', 'workflow_job_template_jobs_list'), url(r'^(?P[0-9]+)/launch/$', 'workflow_job_template_launch'), + url(r'^(?P[0-9]+)/schedules/$', 'workflow_job_template_schedules_list'), url(r'^(?P[0-9]+)/workflow_nodes/$', 'workflow_job_template_workflow_nodes_list'), url(r'^(?P[0-9]+)/labels/$', 'workflow_job_template_label_list'), # url(r'^(?P[0-9]+)/cancel/$', 'workflow_job_template_cancel'), diff --git a/awx/api/views.py b/awx/api/views.py index fdf370e6fa..d11e394793 100644 --- a/awx/api/views.py +++ b/awx/api/views.py @@ -2827,6 +2827,17 @@ class WorkflowJobTemplateJobsList(SubListAPIView): relationship = 'jobs' parent_key = 'workflow_job_template' +class WorkflowJobTemplateSchedulesList(SubListCreateAttachDetachAPIView): + + view_name = _("Workflow Job Template Schedules") + + model = Schedule + serializer_class = ScheduleSerializer + parent_model = WorkflowJobTemplate + relationship = 'schedules' + parent_key = 'unified_job_template' + new_in_310 = True + # TODO: class WorkflowJobList(ListCreateAPIView): diff --git a/awx/main/models/workflow.py b/awx/main/models/workflow.py index b267343ea3..158efabeb4 100644 --- a/awx/main/models/workflow.py +++ b/awx/main/models/workflow.py @@ -290,7 +290,7 @@ class WorkflowJobTemplate(UnifiedJobTemplate, WorkflowJobOptions, ResourceMixin) @classmethod def _get_unified_job_field_names(cls): - return ['name', 'description', 'extra_vars', 'labels',] + return ['name', 'description', 'extra_vars', 'labels', 'schedule', 'launch_type'] def get_absolute_url(self): return reverse('api:workflow_job_template_detail', args=(self.pk,))