mirror of
https://github.com/ansible/awx.git
synced 2026-03-22 11:25:08 -02:30
fix problems with OPTIONS for char_prompts
This commit is contained in:
@@ -2242,10 +2242,10 @@ class WorkflowJobListSerializer(WorkflowJobSerializer, UnifiedJobListSerializer)
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
class WorkflowNodeBaseSerializer(BaseSerializer):
|
class WorkflowNodeBaseSerializer(BaseSerializer):
|
||||||
job_type = serializers.SerializerMethodField()
|
job_type = serializers.CharField(allow_blank=True, required=False, default=None)
|
||||||
job_tags = serializers.SerializerMethodField()
|
job_tags = serializers.CharField(allow_blank=True, required=False, default=None)
|
||||||
limit = serializers.SerializerMethodField()
|
limit = serializers.CharField(allow_blank=True, required=False, default=None)
|
||||||
skip_tags = serializers.SerializerMethodField()
|
skip_tags = serializers.CharField(allow_blank=True, required=False, default=None)
|
||||||
success_nodes = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
|
success_nodes = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
|
||||||
failure_nodes = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
|
failure_nodes = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
|
||||||
always_nodes = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
|
always_nodes = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
|
||||||
@@ -2265,17 +2265,13 @@ class WorkflowNodeBaseSerializer(BaseSerializer):
|
|||||||
res['unified_job_template'] = obj.unified_job_template.get_absolute_url()
|
res['unified_job_template'] = obj.unified_job_template.get_absolute_url()
|
||||||
return res
|
return res
|
||||||
|
|
||||||
def get_job_type(self, obj):
|
def validate(self, attrs):
|
||||||
return obj.char_prompts.get('job_type', None)
|
# char_prompts go through different validation, so remove them here
|
||||||
|
print ' attrs: ' + str(attrs)
|
||||||
def get_job_tags(self, obj):
|
for fd in ['job_type', 'job_tags', 'skip_tags', 'limit']:
|
||||||
return obj.char_prompts.get('job_tags', None)
|
if fd in attrs:
|
||||||
|
attrs.pop(fd)
|
||||||
def get_skip_tags(self, obj):
|
return super(WorkflowNodeBaseSerializer, self).validate(attrs)
|
||||||
return obj.char_prompts.get('skip_tags', None)
|
|
||||||
|
|
||||||
def get_limit(self, obj):
|
|
||||||
return obj.char_prompts.get('limit', None)
|
|
||||||
|
|
||||||
|
|
||||||
class WorkflowJobTemplateNodeSerializer(WorkflowNodeBaseSerializer):
|
class WorkflowJobTemplateNodeSerializer(WorkflowNodeBaseSerializer):
|
||||||
|
|||||||
@@ -2751,6 +2751,11 @@ class WorkflowJobTemplateWorkflowNodesList(SubListCreateAPIView):
|
|||||||
relationship = 'workflow_job_template_nodes'
|
relationship = 'workflow_job_template_nodes'
|
||||||
parent_key = 'workflow_job_template'
|
parent_key = 'workflow_job_template'
|
||||||
|
|
||||||
|
def update_raw_data(self, data):
|
||||||
|
for fd in ['job_type', 'job_tags', 'skip_tags', 'limit', 'skip_tags']:
|
||||||
|
data[fd] = None
|
||||||
|
return super(WorkflowJobTemplateWorkflowNodesList, self).update_raw_data(data)
|
||||||
|
|
||||||
# TODO:
|
# TODO:
|
||||||
class WorkflowJobTemplateJobsList(SubListAPIView):
|
class WorkflowJobTemplateJobsList(SubListAPIView):
|
||||||
|
|
||||||
|
|||||||
@@ -97,6 +97,22 @@ class WorkflowNodeBase(CreatedModifiedModel):
|
|||||||
data[fd] = self.char_prompts[fd]
|
data[fd] = self.char_prompts[fd]
|
||||||
return data
|
return data
|
||||||
|
|
||||||
|
@property
|
||||||
|
def job_type(self):
|
||||||
|
return self.char_prompts.get('job_type', None)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def job_tags(self):
|
||||||
|
return self.char_prompts.get('job_tags', None)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def skip_tags(self):
|
||||||
|
return self.char_prompts.get('skip_tags', None)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def limit(self):
|
||||||
|
return self.char_prompts.get('limit', None)
|
||||||
|
|
||||||
def get_prompts_warnings(self):
|
def get_prompts_warnings(self):
|
||||||
ujt_obj = self.unified_job_template
|
ujt_obj = self.unified_job_template
|
||||||
if ujt_obj is None:
|
if ujt_obj is None:
|
||||||
|
|||||||
Reference in New Issue
Block a user