Merge pull request #3787 from jangsutsr/3552_ensure_wfjt_being_set_during_node_creation

Ensure workflow_job_template being set during node creation
This commit is contained in:
Aaron Tan 2016-10-27 14:55:02 -04:00 committed by GitHub
commit 1da8ed0dd3
2 changed files with 4 additions and 2 deletions

View File

@ -2322,6 +2322,9 @@ class WorkflowJobTemplateNodeSerializer(WorkflowNodeBaseSerializer):
raise serializers.ValidationError({
"job_type": "%s is not a valid job type. The choices are %s." % (
attrs['char_prompts']['job_type'], job_types)})
if self.instance is None and ('workflow_job_template' not in attrs or
attrs['workflow_job_template'] is None):
raise serializers.ValidationError({"workflow_job_template": "Workflow job template is missing during creation"})
ujt_obj = attrs.get('unified_job_template', None)
if isinstance(ujt_obj, (WorkflowJobTemplate, SystemJobTemplate)):
raise serializers.ValidationError({

View File

@ -140,7 +140,6 @@ class WorkflowNodeBase(CreatedModifiedModel):
'inventory', 'credential', 'char_prompts']
class WorkflowJobTemplateNode(WorkflowNodeBase):
# TODO: Ensure the API forces workflow_job_template being set
workflow_job_template = models.ForeignKey(
'WorkflowJobTemplate',
related_name='workflow_job_template_nodes',
@ -149,7 +148,7 @@ class WorkflowJobTemplateNode(WorkflowNodeBase):
default=None,
on_delete=models.CASCADE,
)
def get_absolute_url(self):
return reverse('api:workflow_job_template_node_detail', args=(self.pk,))