diff --git a/awx/ui/static/js/app.js b/awx/ui/static/js/app.js index a272f80485..3b2a98fdbf 100644 --- a/awx/ui/static/js/app.js +++ b/awx/ui/static/js/app.js @@ -400,7 +400,7 @@ angular.module('Tower', [ var _debug = $delegate.debug; $delegate.debug = function(msg) { // only show debug messages when debug_mode set to true in config - if ($AnsibleConfig.debug_mode) { + if ($AnsibleConfig && $AnsibleConfig.debug_mode) { _debug(msg); } }; @@ -415,8 +415,6 @@ angular.module('Tower', [ var e, html, sock, checkCount; - LoadConfig(); - function detectBrowser() { var ua = window.navigator.userAgent, browser; @@ -462,52 +460,6 @@ angular.module('Tower', [ $('#ansible-mobile-menu a[href="#' + base + '"]').addClass('active'); } - $rootScope.browser = detectBrowser(); - - $rootScope.$on("$routeChangeStart", function (event, next) { - // Before navigating away from current tab, make sure the primary view is visible - if ($('#stream-container').is(':visible')) { - HideStream(); - } - - // remove any lingering intervals - if ($rootScope.jobDetailInterval) { - window.clearInterval($rootScope.jobDetailInterval); - } - if ($rootScope.jobStdOutInterval) { - window.clearInterval($rootScope.jobStdOutInterval); - } - if ($rootScope.checkSocketConnectionInterval) { - // use to monitor and restart socket connections - window.clearInterval($rootScope.checkSocketConnectionInterval); - } - - // On each navigation request, check that the user is logged in - if (!/^\/(login|logout)/.test($location.path())) { - // capture most recent URL, excluding login/logout - $rootScope.lastPath = $location.path(); - $cookieStore.put('lastPath', $location.path()); - } - - if (Authorization.isUserLoggedIn() === false) { - if (next.templateUrl !== (urlPrefix + 'partials/login.html')) { - $location.path('/login'); - } - } else if ($rootScope.sessionTimer.isExpired()) { - if (next.templateUrl !== (urlPrefix + 'partials/login.html')) { - $rootScope.sessionTimer.expireSession(); - $location.path('/login'); - } - } else { - if ($rootScope.current_user === undefined || $rootScope.current_user === null) { - Authorization.restoreUserInfo(); //user must have hit browser refresh - } - CheckLicense(); - } - - activateTab(); - }); - if ($rootScope.removeConfigReady) { $rootScope.removeConfigReady(); } @@ -518,6 +470,52 @@ angular.module('Tower', [ $rootScope.crumbCache = []; $rootScope.sessionTimer = Timer.init(); + $rootScope.browser = detectBrowser(); + + $rootScope.$on("$routeChangeStart", function (event, next) { + // Before navigating away from current tab, make sure the primary view is visible + if ($('#stream-container').is(':visible')) { + HideStream(); + } + + // remove any lingering intervals + if ($rootScope.jobDetailInterval) { + window.clearInterval($rootScope.jobDetailInterval); + } + if ($rootScope.jobStdOutInterval) { + window.clearInterval($rootScope.jobStdOutInterval); + } + if ($rootScope.checkSocketConnectionInterval) { + // use to monitor and restart socket connections + window.clearInterval($rootScope.checkSocketConnectionInterval); + } + + // On each navigation request, check that the user is logged in + if (!/^\/(login|logout)/.test($location.path())) { + // capture most recent URL, excluding login/logout + $rootScope.lastPath = $location.path(); + $cookieStore.put('lastPath', $location.path()); + } + + if (Authorization.isUserLoggedIn() === false) { + if (next.templateUrl !== (urlPrefix + 'partials/login.html')) { + $location.path('/login'); + } + } else if ($rootScope.sessionTimer.isExpired()) { + if (next.templateUrl !== (urlPrefix + 'partials/login.html')) { + $rootScope.sessionTimer.expireSession(); + $location.path('/login'); + } + } else { + if ($rootScope.current_user === undefined || $rootScope.current_user === null) { + Authorization.restoreUserInfo(); //user must have hit browser refresh + } + CheckLicense(); + } + + activateTab(); + }); + if (!Authorization.getToken()) { // When the app first loads, redirect to login page $rootScope.sessionExpired = false; @@ -575,7 +573,7 @@ angular.module('Tower', [ // monitor socket status checkCount = 0; setInterval(function() { - if (sock.checkStatus() === 'error' || checkCount > 2) { + if (sock.checkStatus() === 'error' || checkCount > 3) { // there's an error or we're stuck in a 'connecting' state. attempt to reconnect sock = null; $log.debug('attempting new socket connection'); @@ -590,5 +588,7 @@ angular.module('Tower', [ } }, 3000); }); + + LoadConfig(); } ]); diff --git a/awx/ui/static/js/controllers/Authentication.js b/awx/ui/static/js/controllers/Authentication.js index 33af8d56ba..b39ada2527 100644 --- a/awx/ui/static/js/controllers/Authentication.js +++ b/awx/ui/static/js/controllers/Authentication.js @@ -8,11 +8,9 @@ * */ - /* globals console:false */ - 'use strict'; -function Authenticate($cookieStore, $compile, $window, $scope, $rootScope, $location, Authorization, ToggleClass, Alert, Wait, +function Authenticate($log, $cookieStore, $compile, $window, $scope, $rootScope, $location, Authorization, ToggleClass, Alert, Wait, Timer, Empty) { var setLoginFocus, lastPath, sessionExpired, @@ -28,10 +26,8 @@ function Authenticate($cookieStore, $compile, $window, $scope, $rootScope, $loca return (Empty($rootScope.lastPath)) ? $cookieStore.get('lastPath') : $rootScope.lastPath; }; - if ($AnsibleConfig.debug_mode && console) { - console.log('User session expired: ' + sessionExpired); - console.log('Last URL: ' + lastPath()); - } + $log.debug('User session expired: ' + sessionExpired); + $log.debug('Last URL: ' + lastPath()); // Hide any lingering modal dialogs $('.modal[aria-hidden=false]').each(function () { @@ -166,6 +162,6 @@ function Authenticate($cookieStore, $compile, $window, $scope, $rootScope, $loca }; } -Authenticate.$inject = ['$cookieStore', '$compile', '$window', '$scope', '$rootScope', '$location', 'Authorization', 'ToggleClass', 'Alert', 'Wait', +Authenticate.$inject = ['$log', '$cookieStore', '$compile', '$window', '$scope', '$rootScope', '$location', 'Authorization', 'ToggleClass', 'Alert', 'Wait', 'Timer', 'Empty' ]; diff --git a/awx/ui/static/js/helpers/LoadConfig.js b/awx/ui/static/js/helpers/LoadConfig.js index 11471c6b4b..bb30181aff 100644 --- a/awx/ui/static/js/helpers/LoadConfig.js +++ b/awx/ui/static/js/helpers/LoadConfig.js @@ -14,7 +14,7 @@ angular.module('LoadConfigHelper', ['Utilities']) -.factory('LoadConfig', ['$rootScope', '$http', 'ProcessErrors', function($rootScope, $http, ProcessErrors) { +.factory('LoadConfig', ['$log', '$rootScope', '$http', 'ProcessErrors', function($log, $rootScope, $http, ProcessErrors) { return function() { if ($rootScope.removeLoadConfig) { @@ -22,8 +22,10 @@ angular.module('LoadConfigHelper', ['Utilities']) } $rootScope.removeLoadConfig = $rootScope.$on('LoadConfig', function() { // local_config.js not found, so we'll load config.js + $log.info('attempting to load config.js'); $http({ method:'GET', url: $basePath + 'js/config.js' }) .success(function(data) { + $log.info('loaded config.js'); $AnsibleConfig = eval(data); $rootScope.$emit('ConfigReady'); }) @@ -37,11 +39,13 @@ angular.module('LoadConfigHelper', ['Utilities']) // Load js/local_config.js $http({ method:'GET', url: $basePath + 'js/local_config.js' }) .success(function(data) { + $log.info('loaded local_config.js'); $AnsibleConfig = eval(data); $rootScope.$emit('ConfigReady'); }) .error(function() { //local_config.js not found + $log.info('local_config.js not found'); $rootScope.$emit('LoadConfig'); }); };