Merge pull request #1671 from mabashian/t-1099-workflow-nodes

Fixed several workflow node bugs
This commit is contained in:
Michael Abashian
2018-03-26 10:30:23 -04:00
committed by GitHub
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; sendableNodeData.extra_data[key] = value;
} }
}); });
if(sendableNodeData.extra_data === {}) { if(_.isEmpty(sendableNodeData.extra_data)) {
delete sendableNodeData.extra_data; delete sendableNodeData.extra_data;
} }
} else { } else {
if(_.has(params, 'node.promptData.extraVars') && !_.isEmpty(params.node.promptData.extraVars)) {
sendableNodeData.extra_data = 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 // Check to see if the user has provided any prompt values that are different
// from the defaults in the job template // from the defaults in the job template
@@ -599,16 +601,21 @@ export default ['$scope', 'WorkflowService', 'GetBasePath', 'TemplatesService',
let jobTemplate = new JobTemplate(); let jobTemplate = new JobTemplate();
Rest.setUrl($scope.nodeBeingEdited.originalNodeObj.related.credentials); if(!_.isEmpty($scope.nodeBeingEdited.promptData)) {
if($scope.nodeBeingEdited.promptData) {
$scope.promptData = _.cloneDeep($scope.nodeBeingEdited.promptData); $scope.promptData = _.cloneDeep($scope.nodeBeingEdited.promptData);
} else if($scope.nodeBeingEdited.unifiedJobTemplate){ } 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) => { .then((responses) => {
let launchOptions = responses[0].data, let launchOptions = responses[0].data,
launchConf = responses[1].data, launchConf = responses[1].data,
workflowNodeCredentials = responses[2].data.results; workflowNodeCredentials = responses[2] ? responses[2].data.results : [];
let prompts = PromptService.processPromptValues({ let prompts = PromptService.processPromptValues({
launchConf: responses[1].data, 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.extraVars = (processed.extra_data === '' || _.isEmpty(processed.extra_data)) ? '---' : '---\n' + jsyaml.safeDump(processed.extra_data);
$scope.promptData = { $scope.nodeBeingEdited.promptData = $scope.promptData = {
launchConf: launchConf, launchConf: launchConf,
launchOptions: launchOptions, launchOptions: launchOptions,
prompts: prompts, prompts: prompts,
@@ -704,7 +711,7 @@ export default ['$scope', 'WorkflowService', 'GetBasePath', 'TemplatesService',
}); });
} }
else { else {
$scope.promptData = { $scope.nodeBeingEdited.promptData = $scope.promptData = {
launchConf: launchConf, launchConf: launchConf,
launchOptions: launchOptions, launchOptions: launchOptions,
prompts: prompts, prompts: prompts,
@@ -714,6 +721,7 @@ export default ['$scope', 'WorkflowService', 'GetBasePath', 'TemplatesService',
} }
} }
}); });
}
if ($scope.nodeBeingEdited.unifiedJobTemplate.type === "job_template") { if ($scope.nodeBeingEdited.unifiedJobTemplate.type === "job_template") {
$scope.workflowMakerFormConfig.activeTab = "jobs"; $scope.workflowMakerFormConfig.activeTab = "jobs";
@@ -748,8 +756,6 @@ export default ['$scope', 'WorkflowService', 'GetBasePath', 'TemplatesService',
} }
} }
}
let siblingConnectionTypes = WorkflowService.getSiblingConnectionTypes({ let siblingConnectionTypes = WorkflowService.getSiblingConnectionTypes({
tree: $scope.treeData.data, tree: $scope.treeData.data,
parentId: parent.id, parentId: parent.id,

View File

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

View File

@@ -73,7 +73,7 @@ export default ['$q', function($q){
placeholder: true, placeholder: true,
isNew: true, isNew: true,
edited: false, 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}); 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) { if (params.betweenTwoNodes) {
_.forEach(parentNode.children, function(child, index) { _.forEach(parentNode.children, function(child, index) {
if (child.id === params.parent.target.id) { if (child.id === params.parent.target.id) {
child.isRoot = false;
placeholder.children.push(child); placeholder.children.push(child);
parentNode.children[index] = placeholder; parentNode.children[index] = placeholder;
placeholderRef = parentNode.children[index]; placeholderRef = parentNode.children[index];
@@ -89,8 +90,7 @@ export default ['$q', function($q){
return false; return false;
} }
}); });
} } else {
else {
if (parentNode.children) { if (parentNode.children) {
parentNode.children.push(placeholder); parentNode.children.push(placeholder);
placeholderRef = parentNode.children[parentNode.children.length - 1]; placeholderRef = parentNode.children[parentNode.children.length - 1];