Fixed several workflow node bugs

This commit is contained in:
mabashian
2018-03-23 15:50:00 -04:00
parent 07680dd7c0
commit 348de30a17
3 changed files with 56 additions and 50 deletions

View File

@@ -91,13 +91,15 @@ export default ['$scope', 'WorkflowService', 'GetBasePath', 'TemplatesService',
sendableNodeData.extra_data[key] = value;
}
});
if(sendableNodeData.extra_data === {}) {
if(_.isEmpty(sendableNodeData.extra_data)) {
delete sendableNodeData.extra_data;
}
} else {
if(_.has(params, 'node.promptData.extraVars') && !_.isEmpty(params.node.promptData.extraVars)) {
sendableNodeData.extra_data = params.node.promptData.extraVars;
}
}
}
// Check to see if the user has provided any prompt values that are different
// from the defaults in the job template
@@ -599,16 +601,21 @@ export default ['$scope', 'WorkflowService', 'GetBasePath', 'TemplatesService',
let jobTemplate = new JobTemplate();
Rest.setUrl($scope.nodeBeingEdited.originalNodeObj.related.credentials);
if($scope.nodeBeingEdited.promptData) {
if(!_.isEmpty($scope.nodeBeingEdited.promptData)) {
$scope.promptData = _.cloneDeep($scope.nodeBeingEdited.promptData);
} else if($scope.nodeBeingEdited.unifiedJobTemplate){
$q.all([jobTemplate.optionsLaunch($scope.nodeBeingEdited.unifiedJobTemplate.id), jobTemplate.getLaunch($scope.nodeBeingEdited.unifiedJobTemplate.id), Rest.get()])
let promises = [jobTemplate.optionsLaunch($scope.nodeBeingEdited.unifiedJobTemplate.id), jobTemplate.getLaunch($scope.nodeBeingEdited.unifiedJobTemplate.id)];
if(_.has($scope, 'nodeBeingEdited.originalNodeObj.related.credentials')) {
Rest.setUrl($scope.nodeBeingEdited.originalNodeObj.related.credentials);
promises.push(Rest.get());
}
$q.all(promises)
.then((responses) => {
let launchOptions = responses[0].data,
launchConf = responses[1].data,
workflowNodeCredentials = responses[2].data.results;
workflowNodeCredentials = responses[2] ? responses[2].data.results : [];
let prompts = PromptService.processPromptValues({
launchConf: responses[1].data,
@@ -682,7 +689,7 @@ export default ['$scope', 'WorkflowService', 'GetBasePath', 'TemplatesService',
$scope.extraVars = (processed.extra_data === '' || _.isEmpty(processed.extra_data)) ? '---' : '---\n' + jsyaml.safeDump(processed.extra_data);
$scope.promptData = {
$scope.nodeBeingEdited.promptData = $scope.promptData = {
launchConf: launchConf,
launchOptions: launchOptions,
prompts: prompts,
@@ -704,7 +711,7 @@ export default ['$scope', 'WorkflowService', 'GetBasePath', 'TemplatesService',
});
}
else {
$scope.promptData = {
$scope.nodeBeingEdited.promptData = $scope.promptData = {
launchConf: launchConf,
launchOptions: launchOptions,
prompts: prompts,
@@ -714,6 +721,7 @@ export default ['$scope', 'WorkflowService', 'GetBasePath', 'TemplatesService',
}
}
});
}
if ($scope.nodeBeingEdited.unifiedJobTemplate.type === "job_template") {
$scope.workflowMakerFormConfig.activeTab = "jobs";
@@ -748,8 +756,6 @@ export default ['$scope', 'WorkflowService', 'GetBasePath', 'TemplatesService',
}
}
}
let siblingConnectionTypes = WorkflowService.getSiblingConnectionTypes({
tree: $scope.treeData.data,
parentId: parent.id,

View File

@@ -90,8 +90,8 @@
</div>
<div class="WorkflowMaker-formLists">
<div id="workflow-jobs-list" ui-view="jobTemplateList" ng-show="workflowMakerFormConfig.activeTab === 'jobs'"></div>
<div id="workflow-project-sync-list" ng-show="workflowMakerFormConfig.activeTab === 'project_sync'" ui-view="projectSyncList"></div>
<div id="workflow-inventory-sync-list" ng-show="workflowMakerFormConfig.activeTab === 'inventory_sync'" ui-view="inventorySyncList"></div>
<div id="workflow-project-sync-list" ui-view="projectSyncList" ng-show="workflowMakerFormConfig.activeTab === 'project_sync'"></div>
<div id="workflow-inventory-sync-list" ui-view="inventorySyncList" ng-show="workflowMakerFormConfig.activeTab === 'inventory_sync'"></div>
</div>
<div ng-show="selectedTemplate">
<div class="form-group Form-formGroup Form-formGroup--singleColumn">

View File

@@ -73,7 +73,7 @@ export default ['$q', function($q){
placeholder: true,
isNew: true,
edited: false,
isRoot: params.parent.isStartNode ? true : false
isRoot: params.parent.source.isStartNode ? true : false
};
let parentNode = (params.betweenTwoNodes) ? this.searchTree({element: params.tree, matchingId: params.parent.source.id}) : this.searchTree({element: params.tree, matchingId: params.parent.id});
@@ -82,6 +82,7 @@ export default ['$q', function($q){
if (params.betweenTwoNodes) {
_.forEach(parentNode.children, function(child, index) {
if (child.id === params.parent.target.id) {
child.isRoot = false;
placeholder.children.push(child);
parentNode.children[index] = placeholder;
placeholderRef = parentNode.children[index];
@@ -89,8 +90,7 @@ export default ['$q', function($q){
return false;
}
});
}
else {
} else {
if (parentNode.children) {
parentNode.children.push(placeholder);
placeholderRef = parentNode.children[parentNode.children.length - 1];