diff --git a/awx/ui/static/js/controllers/Projects.js b/awx/ui/static/js/controllers/Projects.js index 6c92171d33..275eed2545 100644 --- a/awx/ui/static/js/controllers/Projects.js +++ b/awx/ui/static/js/controllers/Projects.js @@ -12,7 +12,7 @@ function ProjectsList ($scope, $rootScope, $location, $log, $routeParams, Rest, Alert, ProjectList, GenerateList, LoadBreadCrumbs, Prompt, SearchInit, PaginateInit, ReturnToCaller, ClearScope, ProcessErrors, GetBasePath, SelectionInit, ProjectUpdate, - ProjectStatus, FormatDate, Refresh, Wait, Stream, GetChoices, Empty, Find, LogViewer) { + Refresh, Wait, Stream, GetChoices, Empty, Find, LogViewer, GetProjectIcon, GetProjectToolTip) { ClearScope(); @@ -48,30 +48,9 @@ function ProjectsList ($scope, $rootScope, $location, $log, $routeParams, Rest, if ($scope.projects) { $scope.projects.forEach(function(project, i) { - if (project.status === 'ok') { - $scope.projects[i].status = 'n/a'; - } - switch (project.status) { - case 'n/a': - case 'never updated': - $scope.projects[i].statusIcon = 'none'; - $scope.projects[i].statusTip = 'No SCM updates have run for this project'; - break; - case 'updating': - case 'running': - $scope.projects[i].statusIcon = 'running pulsate'; - $scope.projects[i].statusTip = 'Running! Click for details'; - break; - case 'successful': - $scope.projects[i].statusIcon = 'success'; - $scope.projects[i].statusTip = 'Success! Click for details'; - break; - case 'failed': - case 'missing': - $scope.projects[i].statusTip = 'Failed. Click for details'; - $scope.projects[i].statusIcon = 'error'; - break; - } + + $scope.projects[i].statusIcon = GetProjectIcon(project.status); + $scope.projects[i].statusTip = GetProjectToolTip(project.status); if (project.status === 'failed' && project.summary_fields.last_update && project.summary_fields.last_update.status === 'canceled') { $scope.projects[i].statusTip = 'Canceled. Click for details'; @@ -201,22 +180,18 @@ function ProjectsList ($scope, $rootScope, $location, $log, $routeParams, Rest, } else { if (project.related.current_update) { Wait('start'); - ProjectStatus({ - project_id: id, - last_update: project.related.current_update + LogViewer({ + scope: $scope, + url: project.related.current_update, + getIcon: GetProjectIcon }); } else if (project.related.last_update) { Wait('start'); LogViewer({ scope: $scope, url: project.related.last_update, - status_icon: 'icon-job-' + project.statusIcon + getIcon: GetProjectIcon }); - /* - ProjectStatus({ - project_id: id, - last_update: project.related.last_update - });*/ } else { Alert('No Updates Available', 'There is no SCM update information available for this project. An update has not yet been ' + ' completed. If you have not already done so, start an update for this project.', 'alert-info'); @@ -361,8 +336,8 @@ function ProjectsList ($scope, $rootScope, $location, $log, $routeParams, Rest, ProjectsList.$inject = ['$scope', '$rootScope', '$location', '$log', '$routeParams', 'Rest', 'Alert', 'ProjectList', 'GenerateList', 'LoadBreadCrumbs', 'Prompt', 'SearchInit', 'PaginateInit', 'ReturnToCaller', 'ClearScope', 'ProcessErrors', 'GetBasePath', - 'SelectionInit', 'ProjectUpdate', 'ProjectStatus', 'FormatDate', 'Refresh', 'Wait', 'Stream', 'GetChoices', 'Empty', 'Find', - 'LogViewer' + 'SelectionInit', 'ProjectUpdate', 'Refresh', 'Wait', 'Stream', 'GetChoices', 'Empty', 'Find', + 'LogViewer', 'GetProjectIcon', 'GetProjectToolTip' ]; diff --git a/awx/ui/static/js/helpers/LogViewer.js b/awx/ui/static/js/helpers/LogViewer.js index 56b8404eef..7322af9cf0 100644 --- a/awx/ui/static/js/helpers/LogViewer.js +++ b/awx/ui/static/js/helpers/LogViewer.js @@ -16,7 +16,7 @@ angular.module('LogViewerHelper', ['ModalDialog', 'Utilities', 'FormGenerator', return function(params) { var parent_scope = params.scope, url = params.url, - status_icon = params.status_icon, + getIcon = params.getIcon, scope = parent_scope.$new(); if (scope.removeModalReady) { @@ -37,8 +37,8 @@ angular.module('LogViewerHelper', ['ModalDialog', 'Utilities', 'FormGenerator', scope[key] = data[key]; } - AddTable({ scope: scope, form: LogViewerStatusForm, id: 'status-form-container', status_icon: status_icon }); - AddTable({ scope: scope, form: LogViewerOptionsForm, id: 'options-form-container', status_icon: status_icon }); + AddTable({ scope: scope, form: LogViewerStatusForm, id: 'status-form-container', getIcon: getIcon }); + AddTable({ scope: scope, form: LogViewerOptionsForm, id: 'options-form-container', getIcon: getIcon }); if (data.result_stdout) { AddPreFormattedText({ @@ -212,7 +212,7 @@ angular.module('LogViewerHelper', ['ModalDialog', 'Utilities', 'FormGenerator', var form = params.form, id = params.id, scope = params.scope, - status_icon = params.status_icon, + getIcon = params.getIcon, fld, html, url, urls = [ { "variable": "credential", "url": "/#/credentials/" }, @@ -236,8 +236,9 @@ angular.module('LogViewerHelper', ['ModalDialog', 'Utilities', 'FormGenerator', else if (fld === 'elapsed') { html += scope[fld] + " seconds"; } - else if (status_icon && fld === 'status') { - html += " " + scope[fld]; + else if (getIcon && fld === 'status') { + html += " " + scope[fld]; + //html += " " + scope[fld]; } else { html += scope[fld]; diff --git a/awx/ui/static/js/helpers/Projects.js b/awx/ui/static/js/helpers/Projects.js index 37ee28038f..ee9081c347 100644 --- a/awx/ui/static/js/helpers/Projects.js +++ b/awx/ui/static/js/helpers/Projects.js @@ -13,123 +13,60 @@ angular.module('ProjectsHelper', ['RestServices', 'Utilities', 'ProjectStatusDefinition', 'ProjectFormDefinition']) -.factory('ProjectStatus', ['$rootScope', '$location', '$log', '$routeParams', 'Rest', 'Alert', 'GenerateForm', - 'Prompt', 'ProcessErrors', 'GetBasePath', 'FormatDate', 'ProjectStatusForm', 'Wait', - function ($rootScope, $location, $log, $routeParams, Rest, Alert, GenerateForm, Prompt, ProcessErrors, GetBasePath, - FormatDate, ProjectStatusForm, Wait) { - return function (params) { - - var project_id = params.project_id, - last_update = params.last_update, - generator = GenerateForm, - form = ProjectStatusForm, - html, scope, ww, wh, x, y, maxrows; - - Wait('start'); - - html = "