From 9bc217ec8d2e34c094c3f5d67b0743eff8b4aebb Mon Sep 17 00:00:00 2001 From: John Mitchell Date: Thu, 2 Mar 2017 15:16:33 -0500 Subject: [PATCH] cleanup workflows --- awx/ui/client/src/app.js | 4 +- awx/ui/client/src/forms.js | 5 --- awx/ui/client/src/templates/main.js | 2 + .../workflows.form.js} | 35 ++++++++--------- .../add-workflow/workflow-add.controller.js | 16 ++++---- .../edit-workflow/workflow-edit.controller.js | 21 +++++----- .../workflow-chart.directive.js | 2 +- .../workflows/workflow-maker/main.js | 2 + .../workflow-maker.controller.js | 12 ++---- .../workflow-maker/workflow-maker.form.js} | 38 ++++++++----------- .../workflow-results.controller.js | 33 +++------------- 11 files changed, 62 insertions(+), 108 deletions(-) rename awx/ui/client/src/{forms/Workflows.js => templates/workflows.form.js} (90%) rename awx/ui/client/src/{forms/WorkflowMaker.js => templates/workflows/workflow-maker/workflow-maker.form.js} (90%) diff --git a/awx/ui/client/src/app.js b/awx/ui/client/src/app.js index f8c29d59f9..6d81793495 100644 --- a/awx/ui/client/src/app.js +++ b/awx/ui/client/src/app.js @@ -151,12 +151,10 @@ var tower = angular.module('Tower', [ 'PortalJobsListDefinition', 'features', 'pendolytics', - 'WorkflowFormDefinition', 'InventorySourcesListDefinition', - 'WorkflowMakerFormDefinition' ]) -.constant('AngularScheduler.partials', urlPrefix + 'lib/angular-scheduler/lib/') + .constant('AngularScheduler.partials', urlPrefix + 'lib/angular-scheduler/lib/') .constant('AngularScheduler.useTimezone', true) .constant('AngularScheduler.showUTCField', true) .constant('$timezones.definitions.location', urlPrefix + 'lib/angular-tz-extensions/tz/data') diff --git a/awx/ui/client/src/forms.js b/awx/ui/client/src/forms.js index d364903d08..c73f80b13e 100644 --- a/awx/ui/client/src/forms.js +++ b/awx/ui/client/src/forms.js @@ -17,9 +17,6 @@ import JobVarsPrompt from "./forms/JobVarsPrompt"; import LogViewerOptions from "./forms/LogViewerOptions"; import LogViewerStatus from "./forms/LogViewerStatus"; import Organizations from "./forms/Organizations"; -import WorkflowMaker from "./forms/WorkflowMaker"; -import Workflows from "./forms/Workflows"; - export { EventsViewer, @@ -35,6 +32,4 @@ export LogViewerOptions, LogViewerStatus, Organizations, - WorkflowMaker, - Workflows }; diff --git a/awx/ui/client/src/templates/main.js b/awx/ui/client/src/templates/main.js index abab0576b9..a537a6a08f 100644 --- a/awx/ui/client/src/templates/main.js +++ b/awx/ui/client/src/templates/main.js @@ -20,6 +20,7 @@ import workflowService from './workflows/workflow.service'; import templateCopyService from './copy-template/template-copy.service'; import CallbackHelpInit from './job_templates/factories/callback-help-init.factory'; import md5Setup from './job_templates/factories/md-5-setup.factory'; +import WorkflowForm from './workflows.form'; export default angular.module('templates', [surveyMaker.name, templatesList.name, jobTemplatesAdd.name, @@ -31,6 +32,7 @@ angular.module('templates', [surveyMaker.name, templatesList.name, jobTemplatesA .service('TemplateCopyService', templateCopyService) .factory('CallbackHelpInit', CallbackHelpInit) .factory('md5Setup', md5Setup) + .factory('WorkflowForm', WorkflowForm) .config(['$stateProvider', 'stateDefinitionsProvider', '$stateExtenderProvider', function($stateProvider, stateDefinitionsProvider, $stateExtenderProvider) { let stateTree, addJobTemplate, editJobTemplate, addWorkflow, editWorkflow, diff --git a/awx/ui/client/src/forms/Workflows.js b/awx/ui/client/src/templates/workflows.form.js similarity index 90% rename from awx/ui/client/src/forms/Workflows.js rename to awx/ui/client/src/templates/workflows.form.js index 821a3ab072..4906dfae75 100644 --- a/awx/ui/client/src/forms/Workflows.js +++ b/awx/ui/client/src/templates/workflows.form.js @@ -10,11 +10,9 @@ * @description This form is for adding/editing a Workflow */ -export default - angular.module('WorkflowFormDefinition', []) - - .factory('WorkflowFormObject', ['i18n', function(i18n) { - return { +export default ['NotificationsList', 'i18n', function(NotificationsList, i18n) { + return function() { + var WorkflowFormObject = { addTitle: i18n._('NEW WORKFLOW JOB TEMPLATE'), editTitle: '{{ name }}', @@ -190,21 +188,18 @@ export default class: 'Form-primaryButton' } } - };}]) + }; - .factory('WorkflowForm', ['WorkflowFormObject', 'NotificationsList', - function(WorkflowFormObject, NotificationsList) { - return function() { - var itm; + var itm; - for (itm in WorkflowFormObject.related) { - if (WorkflowFormObject.related[itm].include === "NotificationsList") { - WorkflowFormObject.related[itm] = _.clone(NotificationsList); - WorkflowFormObject.related[itm].ngClick = "$state.go('templates.editWorkflowJobTemplate.notifications')"; - WorkflowFormObject.related[itm].generateList = true; // tell form generator to call list generator and inject a list - } - } + for (itm in WorkflowFormObject.related) { + if (WorkflowFormObject.related[itm].include === "NotificationsList") { + WorkflowFormObject.related[itm] = _.clone(NotificationsList); + WorkflowFormObject.related[itm].ngClick = "$state.go('templates.editWorkflowJobTemplate.notifications')"; + WorkflowFormObject.related[itm].generateList = true; // tell form generator to call list generator and inject a list + } + } - return WorkflowFormObject; - }; - }]); + return WorkflowFormObject; + }; +}]; diff --git a/awx/ui/client/src/templates/workflows/add-workflow/workflow-add.controller.js b/awx/ui/client/src/templates/workflows/add-workflow/workflow-add.controller.js index 036ff6b21f..be496f559e 100644 --- a/awx/ui/client/src/templates/workflows/add-workflow/workflow-add.controller.js +++ b/awx/ui/client/src/templates/workflows/add-workflow/workflow-add.controller.js @@ -4,15 +4,13 @@ * All Rights Reserved *************************************************/ - export default - [ '$scope', 'WorkflowForm', 'GenerateForm', 'Alert', 'ProcessErrors', 'ClearScope', - 'Wait', '$state', 'CreateSelect2', 'TemplatesService', 'ToJSON', - 'ParseTypeChange', 'OrganizationList', '$q', 'Rest', 'GetBasePath', - function( - $scope, WorkflowForm, GenerateForm, Alert, ProcessErrors, ClearScope, - Wait, $state, CreateSelect2, TemplatesService, ToJSON, - ParseTypeChange, OrganizationList, $q, Rest, GetBasePath - ) { +export default [ + '$scope', 'WorkflowForm', 'GenerateForm', 'Alert', 'ProcessErrors', + 'ClearScope', 'Wait', '$state', 'CreateSelect2', 'TemplatesService', + 'ToJSON', 'ParseTypeChange', '$q', 'Rest', 'GetBasePath', + function($scope, WorkflowForm, GenerateForm, Alert, ProcessErrors, + ClearScope, Wait, $state, CreateSelect2, TemplatesService, ToJSON, + ParseTypeChange, $q, Rest, GetBasePath) { Rest.setUrl(GetBasePath('workflow_job_templates')); Rest.options() diff --git a/awx/ui/client/src/templates/workflows/edit-workflow/workflow-edit.controller.js b/awx/ui/client/src/templates/workflows/edit-workflow/workflow-edit.controller.js index e8fba017c8..2c27864f88 100644 --- a/awx/ui/client/src/templates/workflows/edit-workflow/workflow-edit.controller.js +++ b/awx/ui/client/src/templates/workflows/edit-workflow/workflow-edit.controller.js @@ -4,18 +4,15 @@ * All Rights Reserved *************************************************/ - export default - [ '$scope', '$stateParams', 'WorkflowForm', 'GenerateForm', 'Alert', 'ProcessErrors', - 'ClearScope', 'GetBasePath', '$q', 'ParseTypeChange', 'Wait', 'Empty', - 'ToJSON', 'initSurvey', '$state', 'CreateSelect2', 'ParseVariableString', - 'TemplatesService', 'OrganizationList', 'Rest', 'WorkflowService', 'ToggleNotification', 'OrgAdminLookup', - function( - $scope, $stateParams, WorkflowForm, GenerateForm, Alert, ProcessErrors, - ClearScope, GetBasePath, $q, ParseTypeChange, Wait, Empty, - ToJSON, SurveyControllerInit, $state, CreateSelect2, ParseVariableString, - TemplatesService, OrganizationList, Rest, WorkflowService, ToggleNotification, OrgAdminLookup - ) { - +export default [ + '$scope', '$stateParams', 'WorkflowForm', 'GenerateForm', 'Alert', + 'ProcessErrors', 'ClearScope', 'GetBasePath', '$q', 'ParseTypeChange', + 'Wait', 'Empty', 'ToJSON', 'initSurvey', '$state', 'CreateSelect2', + 'ParseVariableString', 'TemplatesService', 'Rest', 'ToggleNotification', + function($scope, $stateParams, WorkflowForm, GenerateForm, Alert, + ProcessErrors, ClearScope, GetBasePath, $q, ParseTypeChange, Wait, Empty, + ToJSON, SurveyControllerInit, $state, CreateSelect2, ParseVariableString, + TemplatesService, Rest, ToggleNotification) { ClearScope(); $scope.$watch('workflow_job_template_obj.summary_fields.user_capabilities.edit', function(val) { diff --git a/awx/ui/client/src/templates/workflows/workflow-chart/workflow-chart.directive.js b/awx/ui/client/src/templates/workflows/workflow-chart/workflow-chart.directive.js index 72cb0e1887..b11786adc6 100644 --- a/awx/ui/client/src/templates/workflows/workflow-chart/workflow-chart.directive.js +++ b/awx/ui/client/src/templates/workflows/workflow-chart/workflow-chart.directive.js @@ -4,7 +4,7 @@ * All Rights Reserved *************************************************/ -export default [ '$state','moment', '$timeout', '$window', +export default ['$state','moment', '$timeout', '$window', function($state, moment, $timeout, $window) { return { diff --git a/awx/ui/client/src/templates/workflows/workflow-maker/main.js b/awx/ui/client/src/templates/workflows/workflow-maker/main.js index 821dfe18aa..4cca4bf693 100644 --- a/awx/ui/client/src/templates/workflows/workflow-maker/main.js +++ b/awx/ui/client/src/templates/workflows/workflow-maker/main.js @@ -1,9 +1,11 @@ import workflowMaker from './workflow-maker.directive'; import WorkflowMakerController from './workflow-maker.controller'; +import WorkflowMakerForm from './workflow-maker.form'; export default angular.module('templates.workflowMaker', []) // In order to test this controller I had to expose it at the module level // like so. Is this correct? Is there a better pattern for doing this? .controller('WorkflowMakerController', WorkflowMakerController) + .factory('WorkflowMakerForm', WorkflowMakerForm) .directive('workflowMaker', workflowMaker); diff --git a/awx/ui/client/src/templates/workflows/workflow-maker/workflow-maker.controller.js b/awx/ui/client/src/templates/workflows/workflow-maker/workflow-maker.controller.js index 7fcf27cc6c..4e239edc42 100644 --- a/awx/ui/client/src/templates/workflows/workflow-maker/workflow-maker.controller.js +++ b/awx/ui/client/src/templates/workflows/workflow-maker/workflow-maker.controller.js @@ -4,14 +4,10 @@ * All Rights Reserved *************************************************/ -export default ['$scope', 'WorkflowService', 'generateList', 'TemplateList', 'ProjectList', - 'GetBasePath', 'Wait', 'TemplatesService', '$state', - 'ProcessErrors', 'InventorySourcesList', 'CreateSelect2', 'WorkflowMakerForm', - 'GenerateForm', 'InventoryList', 'CredentialList', '$q', - function($scope, WorkflowService, GenerateList, TemplateList, ProjectList, - GetBasePath, Wait, TemplatesService, $state, - ProcessErrors, InventorySourcesList, CreateSelect2, WorkflowMakerForm, - GenerateForm, InventoryList, CredentialList, $q) { +export default ['$scope', 'WorkflowService', 'GetBasePath', 'TemplatesService', + '$state', 'ProcessErrors', 'CreateSelect2', 'WorkflowMakerForm', '$q', + function($scope, WorkflowService, GetBasePath, TemplatesService, $state, + ProcessErrors, CreateSelect2, WorkflowMakerForm, $q) { let form = WorkflowMakerForm(); diff --git a/awx/ui/client/src/forms/WorkflowMaker.js b/awx/ui/client/src/templates/workflows/workflow-maker/workflow-maker.form.js similarity index 90% rename from awx/ui/client/src/forms/WorkflowMaker.js rename to awx/ui/client/src/templates/workflows/workflow-maker/workflow-maker.form.js index a911e85678..6e4074bb20 100644 --- a/awx/ui/client/src/forms/WorkflowMaker.js +++ b/awx/ui/client/src/templates/workflows/workflow-maker/workflow-maker.form.js @@ -10,16 +10,9 @@ * @description This form is for adding/editing a Job Template */ -// export default -// angular.module('WorkflowMakerFormDefinition', []) -// -// .value ('WorkflowMakerFormObject', { - -export default - angular.module('WorkflowMakerFormDefinition', []) - - .factory('WorkflowMakerFormObject', ['i18n', function(i18n) { - return { +export default ['NotificationsList', 'i18n', function(NotificationsList, i18n) { + return function() { + var WorkflowMakerFormObject = { addTitle: '', editTitle: '', @@ -176,16 +169,15 @@ export default ngShow: '(workflowJobTemplateObj.summary_fields.user_capabilities.edit || canAddWorkflowJobTemplate)' } } - };}]) - .factory('WorkflowMakerForm', ['WorkflowMakerFormObject', 'NotificationsList', function(WorkflowMakerFormObject, NotificationsList) { - return function() { - var itm; - for (itm in WorkflowMakerFormObject.related) { - if (WorkflowMakerFormObject.related[itm].include === "NotificationsList") { - WorkflowMakerFormObject.related[itm] = NotificationsList; - WorkflowMakerFormObject.related[itm].generateList = true; // tell form generator to call list generator and inject a list - } - } - return WorkflowMakerFormObject; - }; - }]); + }; + + var itm; + for (itm in WorkflowMakerFormObject.related) { + if (WorkflowMakerFormObject.related[itm].include === "NotificationsList") { + WorkflowMakerFormObject.related[itm] = NotificationsList; + WorkflowMakerFormObject.related[itm].generateList = true; // tell form generator to call list generator and inject a list + } + } + return WorkflowMakerFormObject; + }; +}]; diff --git a/awx/ui/client/src/workflow-results/workflow-results.controller.js b/awx/ui/client/src/workflow-results/workflow-results.controller.js index cd4ae42a20..8a20e8c57d 100644 --- a/awx/ui/client/src/workflow-results/workflow-results.controller.js +++ b/awx/ui/client/src/workflow-results/workflow-results.controller.js @@ -1,30 +1,9 @@ -export default ['workflowData', - 'workflowResultsService', - 'workflowDataOptions', - 'jobLabels', - 'workflowNodes', - '$scope', - 'ParseTypeChange', - 'ParseVariableString', - 'WorkflowService', - 'count', - '$state', - 'i18n', - 'moment', - function(workflowData, - workflowResultsService, - workflowDataOptions, - jobLabels, - workflowNodes, - $scope, - ParseTypeChange, - ParseVariableString, - WorkflowService, - count, - $state, - i18n, - moment - ) { +export default ['workflowData', 'workflowResultsService', 'workflowDataOptions', + 'jobLabels', 'workflowNodes', '$scope', 'ParseTypeChange', + 'ParseVariableString', 'WorkflowService', 'count', '$state', 'i18n', + 'moment', function(workflowData, workflowResultsService, + workflowDataOptions, jobLabels, workflowNodes, $scope, ParseTypeChange, + ParseVariableString, WorkflowService, count, $state, i18n, moment) { var runTimeElapsedTimer = null; var getTowerLinks = function() {