From 9a0e409abf4757af8afb9f88e29baf3382fadff2 Mon Sep 17 00:00:00 2001 From: John Mitchell Date: Wed, 1 Mar 2017 14:52:26 -0500 Subject: [PATCH 1/7] move projects list to module --- awx/ui/client/src/app.js | 3 ++- awx/ui/client/src/lists.js | 2 -- awx/ui/client/src/projects/main.js | 2 ++ .../src/{lists/Projects.js => projects/projects.list.js} | 6 ++---- 4 files changed, 6 insertions(+), 7 deletions(-) rename awx/ui/client/src/{lists/Projects.js => projects/projects.list.js} (97%) diff --git a/awx/ui/client/src/app.js b/awx/ui/client/src/app.js index 05df2f8cc0..0ba9100784 100644 --- a/awx/ui/client/src/app.js +++ b/awx/ui/client/src/app.js @@ -145,7 +145,8 @@ var tower = angular.module('Tower', [ 'TemplatesListDefinition', 'PortalJobTemplatesListDefinition', 'JobTemplateFormDefinition', - 'ProjectsListDefinition', + 'JobTemplatesHelper', + 'JobSubmissionHelper', 'ProjectFormDefinition', 'ProjectStatusDefinition', 'CompletedJobsDefinition', diff --git a/awx/ui/client/src/lists.js b/awx/ui/client/src/lists.js index 18393e27cd..ffe7da6d55 100644 --- a/awx/ui/client/src/lists.js +++ b/awx/ui/client/src/lists.js @@ -20,7 +20,6 @@ import Jobs from "./lists/Jobs"; import Organizations from "./lists/Organizations"; import PortalJobTemplates from "./lists/PortalJobTemplates"; import PortalJobs from "./lists/PortalJobs"; -import Projects from "./lists/Projects"; import ScheduledJobs from "./lists/ScheduledJobs"; import Schedules from "./lists/Schedules"; import Streams from "./lists/Streams"; @@ -45,7 +44,6 @@ export Organizations, PortalJobTemplates, PortalJobs, - Projects, ScheduledJobs, Schedules, Streams, diff --git a/awx/ui/client/src/projects/main.js b/awx/ui/client/src/projects/main.js index 2bb0c3cdcc..b2fb214918 100644 --- a/awx/ui/client/src/projects/main.js +++ b/awx/ui/client/src/projects/main.js @@ -7,6 +7,7 @@ import ProjectsList from './list/projects-list.controller'; import ProjectsAdd from './add/projects-add.controller'; import ProjectsEdit from './edit/projects-edit.controller'; +import ProjectList from './projects.list'; import { N_ } from '../i18n'; import GetProjectPath from './factories/get-project-path.factory'; import GetProjectIcon from './factories/get-project-icon.factory'; @@ -20,6 +21,7 @@ angular.module('Projects', []) .factory('GetProjectPath', GetProjectPath) .factory('GetProjectIcon', GetProjectIcon) .factory('GetProjectToolTip', GetProjectToolTip) + .factory('ProjectList', ProjectList) .config(['$stateProvider', 'stateDefinitionsProvider', function($stateProvider, stateDefinitionsProvider) { let stateDefinitions = stateDefinitionsProvider.$get(); diff --git a/awx/ui/client/src/lists/Projects.js b/awx/ui/client/src/projects/projects.list.js similarity index 97% rename from awx/ui/client/src/lists/Projects.js rename to awx/ui/client/src/projects/projects.list.js index 80bcaab1f2..c4569e0d42 100644 --- a/awx/ui/client/src/lists/Projects.js +++ b/awx/ui/client/src/projects/projects.list.js @@ -4,9 +4,7 @@ * All Rights Reserved *************************************************/ -export default - angular.module('ProjectsListDefinition', []) - .factory('ProjectList', ['i18n', function(i18n) { +export default ['i18n', function(i18n) { return { name: 'projects', @@ -124,4 +122,4 @@ export default dataPlacement: 'top' } } - };}]); + };}]; From 75820064e879fdf957b750d053752d528a09dc7d Mon Sep 17 00:00:00 2001 From: John Mitchell Date: Wed, 1 Mar 2017 15:05:00 -0500 Subject: [PATCH 2/7] modularize project form --- awx/ui/client/src/app.js | 1 - awx/ui/client/src/forms.js | 2 - awx/ui/client/src/helpers/Projects.js | 84 +++++++++++++++++++ awx/ui/client/src/projects/main.js | 2 + .../Projects.js => projects/projects.form.js} | 32 ++++--- 5 files changed, 100 insertions(+), 21 deletions(-) create mode 100644 awx/ui/client/src/helpers/Projects.js rename awx/ui/client/src/{forms/Projects.js => projects/projects.form.js} (93%) diff --git a/awx/ui/client/src/app.js b/awx/ui/client/src/app.js index 0ba9100784..9ea9e3594e 100644 --- a/awx/ui/client/src/app.js +++ b/awx/ui/client/src/app.js @@ -147,7 +147,6 @@ var tower = angular.module('Tower', [ 'JobTemplateFormDefinition', 'JobTemplatesHelper', 'JobSubmissionHelper', - 'ProjectFormDefinition', 'ProjectStatusDefinition', 'CompletedJobsDefinition', 'AllJobsDefinition', diff --git a/awx/ui/client/src/forms.js b/awx/ui/client/src/forms.js index db46a6d0d8..c1aba00142 100644 --- a/awx/ui/client/src/forms.js +++ b/awx/ui/client/src/forms.js @@ -20,7 +20,6 @@ import LogViewerOptions from "./forms/LogViewerOptions"; import LogViewerStatus from "./forms/LogViewerStatus"; import Organizations from "./forms/Organizations"; import ProjectStatus from "./forms/ProjectStatus"; -import Projects from "./forms/Projects"; import Teams from "./forms/Teams"; import Users from "./forms/Users"; import WorkflowMaker from "./forms/WorkflowMaker"; @@ -44,7 +43,6 @@ export LogViewerStatus, Organizations, ProjectStatus, - Projects, Teams, Users, WorkflowMaker, diff --git a/awx/ui/client/src/helpers/Projects.js b/awx/ui/client/src/helpers/Projects.js new file mode 100644 index 0000000000..40a82ce2c5 --- /dev/null +++ b/awx/ui/client/src/helpers/Projects.js @@ -0,0 +1,84 @@ +/************************************************* + * Copyright (c) 2015 Ansible, Inc. + * + * All Rights Reserved + *************************************************/ + + /** + * @ngdoc function + * @name helpers.function:Projects + * @description + * Use GetProjectPath({ scope: , master: }) to + * load scope.project_local_paths (array of options for drop-down) and + * scope.base_dir (readonly field). + * + */ + + +export default + angular.module('ProjectsHelper', ['RestServices', 'Utilities', 'ProjectStatusDefinition']) + + .factory('GetProjectIcon', [ function() { + return function(status) { + var result = ''; + switch (status) { + case 'n/a': + case 'ok': + case 'never updated': + result = 'none'; + break; + case 'pending': + case 'waiting': + case 'new': + result = 'none'; + break; + case 'updating': + case 'running': + result = 'running'; + break; + case 'successful': + result = 'success'; + break; + case 'failed': + case 'missing': + case 'canceled': + result = 'error'; + } + return result; + }; + }]) + + .factory('GetProjectToolTip', ['i18n', function(i18n) { + return function(status) { + var result = ''; + switch (status) { + case 'n/a': + case 'ok': + case 'never updated': + result = i18n._('No SCM updates have run for this project'); + break; + case 'pending': + case 'waiting': + case 'new': + result = i18n._('Queued. Click for details'); + break; + case 'updating': + case 'running': + result = i18n._('Running! Click for details'); + break; + case 'successful': + result = i18n._('Success! Click for details'); + break; + case 'failed': + result = i18n._('Failed. Click for details'); + break; + case 'missing': + result = i18n._('Missing. Click for details'); + break; + case 'canceled': + result = i18n._('Canceled. Click for details'); + break; + } + return result; + }; + }]); diff --git a/awx/ui/client/src/projects/main.js b/awx/ui/client/src/projects/main.js index b2fb214918..b43d1d29a4 100644 --- a/awx/ui/client/src/projects/main.js +++ b/awx/ui/client/src/projects/main.js @@ -8,6 +8,7 @@ import ProjectsList from './list/projects-list.controller'; import ProjectsAdd from './add/projects-add.controller'; import ProjectsEdit from './edit/projects-edit.controller'; import ProjectList from './projects.list'; +import ProjectsForm from './projects.form'; import { N_ } from '../i18n'; import GetProjectPath from './factories/get-project-path.factory'; import GetProjectIcon from './factories/get-project-icon.factory'; @@ -22,6 +23,7 @@ angular.module('Projects', []) .factory('GetProjectIcon', GetProjectIcon) .factory('GetProjectToolTip', GetProjectToolTip) .factory('ProjectList', ProjectList) + .factory('ProjectsForm', ProjectsForm) .config(['$stateProvider', 'stateDefinitionsProvider', function($stateProvider, stateDefinitionsProvider) { let stateDefinitions = stateDefinitionsProvider.$get(); diff --git a/awx/ui/client/src/forms/Projects.js b/awx/ui/client/src/projects/projects.form.js similarity index 93% rename from awx/ui/client/src/forms/Projects.js rename to awx/ui/client/src/projects/projects.form.js index 3b2a69c044..3621d71244 100644 --- a/awx/ui/client/src/forms/Projects.js +++ b/awx/ui/client/src/projects/projects.form.js @@ -10,10 +10,9 @@ * @description This form is for adding/editing projects */ -export default -angular.module('ProjectFormDefinition', ['SchedulesListDefinition']) - .factory('ProjectsFormObject', ['i18n', function(i18n) { - return { +export default ['i18n', 'NotificationsList', function(i18n, NotificationsList) { + return function() { + var projectsFormObj = { addTitle: i18n._('NEW PROJECT'), editTitle: '{{ name }}', @@ -266,18 +265,15 @@ angular.module('ProjectFormDefinition', ['SchedulesListDefinition']) } } - };}]) + }; - .factory('ProjectsForm', ['ProjectsFormObject', 'NotificationsList', - function(ProjectsFormObject, NotificationsList) { - return function() { - var itm; - for (itm in ProjectsFormObject.related) { - if (ProjectsFormObject.related[itm].include === "NotificationsList") { - ProjectsFormObject.related[itm] = NotificationsList; - ProjectsFormObject.related[itm].generateList = true; // tell form generator to call list generator and inject a list - } - } - return ProjectsFormObject; - }; - }]); + var itm; + + for (itm in projectsFormObj.related) { + if (projectsFormObj.related[itm].include === "NotificationsList") { + projectsFormObj.related[itm] = NotificationsList; + projectsFormObj.related[itm].generateList = true; // tell form generator to call list generator and inject a list + } + } + return projectsFormObj; +}}]; From 4963ae5308dd49dcd5315d25000eefb24280b921 Mon Sep 17 00:00:00 2001 From: John Mitchell Date: Wed, 1 Mar 2017 15:29:31 -0500 Subject: [PATCH 3/7] rid ourselves of the project status form --- awx/ui/client/src/app.js | 1 - awx/ui/client/src/forms.js | 2 -- awx/ui/client/src/helpers/Projects.js | 2 +- 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/awx/ui/client/src/app.js b/awx/ui/client/src/app.js index 9ea9e3594e..d7fbc0eb31 100644 --- a/awx/ui/client/src/app.js +++ b/awx/ui/client/src/app.js @@ -147,7 +147,6 @@ var tower = angular.module('Tower', [ 'JobTemplateFormDefinition', 'JobTemplatesHelper', 'JobSubmissionHelper', - 'ProjectStatusDefinition', 'CompletedJobsDefinition', 'AllJobsDefinition', 'JobSummaryDefinition', diff --git a/awx/ui/client/src/forms.js b/awx/ui/client/src/forms.js index c1aba00142..f51be2d458 100644 --- a/awx/ui/client/src/forms.js +++ b/awx/ui/client/src/forms.js @@ -19,7 +19,6 @@ import JobVarsPrompt from "./forms/JobVarsPrompt"; import LogViewerOptions from "./forms/LogViewerOptions"; import LogViewerStatus from "./forms/LogViewerStatus"; import Organizations from "./forms/Organizations"; -import ProjectStatus from "./forms/ProjectStatus"; import Teams from "./forms/Teams"; import Users from "./forms/Users"; import WorkflowMaker from "./forms/WorkflowMaker"; @@ -42,7 +41,6 @@ export LogViewerOptions, LogViewerStatus, Organizations, - ProjectStatus, Teams, Users, WorkflowMaker, diff --git a/awx/ui/client/src/helpers/Projects.js b/awx/ui/client/src/helpers/Projects.js index 40a82ce2c5..db73818447 100644 --- a/awx/ui/client/src/helpers/Projects.js +++ b/awx/ui/client/src/helpers/Projects.js @@ -16,7 +16,7 @@ export default - angular.module('ProjectsHelper', ['RestServices', 'Utilities', 'ProjectStatusDefinition']) + angular.module('ProjectsHelper', ['RestServices', 'Utilities']) .factory('GetProjectIcon', [ function() { return function(status) { From 75ee34153d554afc94a9d7829eae1ed764a189d5 Mon Sep 17 00:00:00 2001 From: John Mitchell Date: Wed, 1 Mar 2017 15:32:08 -0500 Subject: [PATCH 4/7] fix jshint --- awx/ui/client/src/projects/projects.form.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/awx/ui/client/src/projects/projects.form.js b/awx/ui/client/src/projects/projects.form.js index 3621d71244..108b7bacc8 100644 --- a/awx/ui/client/src/projects/projects.form.js +++ b/awx/ui/client/src/projects/projects.form.js @@ -276,4 +276,4 @@ export default ['i18n', 'NotificationsList', function(i18n, NotificationsList) { } } return projectsFormObj; -}}]; +};}]; From 36f09d2bb6b1e3dd4eb9d79f144292b08cad5fac Mon Sep 17 00:00:00 2001 From: John Mitchell Date: Wed, 1 Mar 2017 15:59:29 -0500 Subject: [PATCH 5/7] update di's of project controllers --- .../src/projects/add/projects-add.controller.js | 10 +++++----- .../projects/edit/projects-edit.controller.js | 17 +++++++++-------- .../projects/list/projects-list.controller.js | 16 ++++++++-------- 3 files changed, 22 insertions(+), 21 deletions(-) diff --git a/awx/ui/client/src/projects/add/projects-add.controller.js b/awx/ui/client/src/projects/add/projects-add.controller.js index 4e513acb13..c742751fc2 100644 --- a/awx/ui/client/src/projects/add/projects-add.controller.js +++ b/awx/ui/client/src/projects/add/projects-add.controller.js @@ -4,12 +4,12 @@ * All Rights Reserved *************************************************/ -export default ['$scope', '$rootScope', '$compile', '$location', '$log', - '$stateParams', 'GenerateForm', 'ProjectsForm', 'Rest', 'Alert', 'ProcessErrors', 'GetBasePath', +export default ['$scope', '$location', '$stateParams', 'GenerateForm', + 'ProjectsForm', 'Rest', 'Alert', 'ProcessErrors', 'GetBasePath', 'GetProjectPath', 'GetChoices', 'Wait', '$state', 'CreateSelect2', 'i18n', - function($scope, $rootScope, $compile, $location, $log, - $stateParams, GenerateForm, ProjectsForm, Rest, Alert, ProcessErrors, - GetBasePath, GetProjectPath, GetChoices, Wait, $state, CreateSelect2, i18n) { + function($scope, $location, $stateParams, GenerateForm, ProjectsForm, Rest, + Alert, ProcessErrors, GetBasePath, GetProjectPath, GetChoices, Wait, $state, + CreateSelect2, i18n) { var form = ProjectsForm(), base = $location.path().replace(/^\//, '').split('/')[0], diff --git a/awx/ui/client/src/projects/edit/projects-edit.controller.js b/awx/ui/client/src/projects/edit/projects-edit.controller.js index 05b7cf48e7..4cb088a638 100644 --- a/awx/ui/client/src/projects/edit/projects-edit.controller.js +++ b/awx/ui/client/src/projects/edit/projects-edit.controller.js @@ -4,14 +4,15 @@ * All Rights Reserved *************************************************/ -export default ['$scope', '$rootScope', '$compile', '$location', '$log', - '$stateParams', 'ProjectsForm', 'Rest', 'Alert', 'ProcessErrors', 'GenerateForm', - 'Prompt', 'ClearScope', 'GetBasePath', 'GetProjectPath', 'Authorization', 'GetChoices', 'Empty', - 'DebugForm', 'Wait', 'ProjectUpdate', '$state', 'CreateSelect2', 'ToggleNotification', 'i18n', - function($scope, $rootScope, $compile, $location, $log, - $stateParams, ProjectsForm, Rest, Alert, ProcessErrors, GenerateForm, - Prompt, ClearScope, GetBasePath, GetProjectPath, Authorization, - GetChoices, Empty, DebugForm, Wait, ProjectUpdate, $state, CreateSelect2, ToggleNotification, i18n) { +export default ['$scope', '$rootScope', '$stateParams', 'ProjectsForm', 'Rest', + 'Alert', 'ProcessErrors', 'GenerateForm', 'Prompt', 'ClearScope', + 'GetBasePath', 'GetProjectPath', 'Authorization', 'GetChoices', 'Empty', + 'Wait', 'ProjectUpdate', '$state', 'CreateSelect2', 'ToggleNotification', + 'i18n', + function($scope, $rootScope, $stateParams, ProjectsForm, Rest, Alert, + ProcessErrors, GenerateForm, Prompt, ClearScope, GetBasePath, + GetProjectPath, Authorization, GetChoices, Empty, Wait, ProjectUpdate, + $state, CreateSelect2, ToggleNotification, i18n) { ClearScope('htmlTemplate'); diff --git a/awx/ui/client/src/projects/list/projects-list.controller.js b/awx/ui/client/src/projects/list/projects-list.controller.js index 1304b5a21b..c86e1e1fb1 100644 --- a/awx/ui/client/src/projects/list/projects-list.controller.js +++ b/awx/ui/client/src/projects/list/projects-list.controller.js @@ -4,14 +4,14 @@ * All Rights Reserved *************************************************/ -export default ['$scope', '$rootScope', '$location', '$log', '$stateParams', - 'Rest', 'Alert', 'ProjectList', 'Prompt', 'ReturnToCaller', 'ClearScope', 'ProcessErrors', - 'GetBasePath', 'ProjectUpdate', 'Wait', 'GetChoices', 'Empty', 'Find', 'GetProjectIcon', - 'GetProjectToolTip', '$filter', '$state', 'rbacUiControlService', 'Dataset', 'i18n', 'QuerySet', - function($scope, $rootScope, $location, $log, $stateParams, - Rest, Alert, ProjectList, Prompt, ReturnToCaller, ClearScope, ProcessErrors, - GetBasePath, ProjectUpdate, Wait, GetChoices, Empty, Find, GetProjectIcon, - GetProjectToolTip, $filter, $state, rbacUiControlService, Dataset, i18n, qs) { +export default ['$scope', '$rootScope', '$log', '$stateParams', 'Rest', 'Alert', + 'ProjectList', 'Prompt', 'ProcessErrors', 'GetBasePath', 'ProjectUpdate', + 'Wait', 'Empty', 'Find', 'GetProjectIcon', 'GetProjectToolTip', '$filter', + '$state', 'rbacUiControlService', 'Dataset', 'i18n', 'QuerySet', + function($scope, $rootScope, $log, $stateParams,Rest, Alert, ProjectList, + Prompt, ProcessErrors, GetBasePath, ProjectUpdate, Wait, Empty, Find, + GetProjectIcon, GetProjectToolTip, $filter, $state, rbacUiControlService, + Dataset, i18n, qs) { var list = ProjectList, defaultUrl = GetBasePath('projects'); From 092941398973ab2fe6917f6169d3b5e6997eebc4 Mon Sep 17 00:00:00 2001 From: John Mitchell Date: Tue, 14 Mar 2017 15:25:08 -0400 Subject: [PATCH 6/7] delete helpers that showed back up in rebase --- awx/ui/client/src/helpers/Projects.js | 84 --------------------------- 1 file changed, 84 deletions(-) delete mode 100644 awx/ui/client/src/helpers/Projects.js diff --git a/awx/ui/client/src/helpers/Projects.js b/awx/ui/client/src/helpers/Projects.js deleted file mode 100644 index db73818447..0000000000 --- a/awx/ui/client/src/helpers/Projects.js +++ /dev/null @@ -1,84 +0,0 @@ -/************************************************* - * Copyright (c) 2015 Ansible, Inc. - * - * All Rights Reserved - *************************************************/ - - /** - * @ngdoc function - * @name helpers.function:Projects - * @description - * Use GetProjectPath({ scope: , master: }) to - * load scope.project_local_paths (array of options for drop-down) and - * scope.base_dir (readonly field). - * - */ - - -export default - angular.module('ProjectsHelper', ['RestServices', 'Utilities']) - - .factory('GetProjectIcon', [ function() { - return function(status) { - var result = ''; - switch (status) { - case 'n/a': - case 'ok': - case 'never updated': - result = 'none'; - break; - case 'pending': - case 'waiting': - case 'new': - result = 'none'; - break; - case 'updating': - case 'running': - result = 'running'; - break; - case 'successful': - result = 'success'; - break; - case 'failed': - case 'missing': - case 'canceled': - result = 'error'; - } - return result; - }; - }]) - - .factory('GetProjectToolTip', ['i18n', function(i18n) { - return function(status) { - var result = ''; - switch (status) { - case 'n/a': - case 'ok': - case 'never updated': - result = i18n._('No SCM updates have run for this project'); - break; - case 'pending': - case 'waiting': - case 'new': - result = i18n._('Queued. Click for details'); - break; - case 'updating': - case 'running': - result = i18n._('Running! Click for details'); - break; - case 'successful': - result = i18n._('Success! Click for details'); - break; - case 'failed': - result = i18n._('Failed. Click for details'); - break; - case 'missing': - result = i18n._('Missing. Click for details'); - break; - case 'canceled': - result = i18n._('Canceled. Click for details'); - break; - } - return result; - }; - }]); From f78410ec2d36af24ed16098be52f6b9b62f8c12c Mon Sep 17 00:00:00 2001 From: John Mitchell Date: Tue, 14 Mar 2017 15:30:09 -0400 Subject: [PATCH 7/7] update app.js to remove helpers --- awx/ui/client/src/app.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/awx/ui/client/src/app.js b/awx/ui/client/src/app.js index d7fbc0eb31..a298b634bd 100644 --- a/awx/ui/client/src/app.js +++ b/awx/ui/client/src/app.js @@ -145,8 +145,6 @@ var tower = angular.module('Tower', [ 'TemplatesListDefinition', 'PortalJobTemplatesListDefinition', 'JobTemplateFormDefinition', - 'JobTemplatesHelper', - 'JobSubmissionHelper', 'CompletedJobsDefinition', 'AllJobsDefinition', 'JobSummaryDefinition', @@ -158,7 +156,6 @@ var tower = angular.module('Tower', [ //'Timezones', 'JobsListDefinition', 'LogViewerStatusDefinition', - 'StandardOutHelper', 'LogViewerOptionsDefinition', 'lrInfiniteScroll', 'PortalJobsListDefinition',