This is an automated email from the ASF dual-hosted git repository.

mitchell852 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git


The following commit(s) were added to refs/heads/master by this push:
     new c98cce9  Removed restangular from AuthService.js (#3601)
c98cce9 is described below

commit c98cce9b3d15fae88656d67cada079cc27cbbceb
Author: ocket8888 <[email protected]>
AuthorDate: Fri Jul 26 15:59:19 2019 -0600

    Removed restangular from AuthService.js (#3601)
    
    * Removed restangular from ./AuthService.js
    
    * fixed login button being permanently un-click-able after bad login
---
 traffic_portal/app/src/common/api/AuthService.js   | 80 ++++++++++------------
 .../src/modules/public/login/LoginController.js    | 18 ++---
 2 files changed, 47 insertions(+), 51 deletions(-)

diff --git a/traffic_portal/app/src/common/api/AuthService.js 
b/traffic_portal/app/src/common/api/AuthService.js
index 439390a..7543cda 100644
--- a/traffic_portal/app/src/common/api/AuthService.js
+++ b/traffic_portal/app/src/common/api/AuthService.js
@@ -17,64 +17,60 @@
  * under the License.
  */
 
-var AuthService = function($rootScope, $http, $state, $location, $q, $state, 
httpService, userModel, messageModel, ENV) {
+var AuthService = function($rootScope, $http, $state, $location, userModel, 
messageModel, ENV) {
 
     this.login = function(username, password) {
         userModel.resetUser();
-        return httpService.post(ENV.api['root'] + 'user/login', { u: username, 
p: password })
-            .then(
-                function(result) {
-                    $rootScope.$broadcast('authService::login');
-                    var redirect = 
decodeURIComponent($location.search().redirect);
-                    if (redirect !== 'undefined') {
-                        $location.search('redirect', null); // remove the 
redirect query param
-                        $location.url(redirect);
-                    } else {
-                        $location.url('/');
-                    }
-                },
-                function(fault) {
-                    // do nothing
+        return $http.post(ENV.api['root'] + 'user/login', { u: username, p: 
password }).then(
+            function(result) {
+                $rootScope.$broadcast('authService::login');
+                const redirect = 
decodeURIComponent($location.search().redirect);
+                if (redirect !== 'undefined') {
+                    $location.search('redirect', null); // remove the redirect 
query param
+                    $location.url(redirect);
+                } else {
+                    $location.url('/');
                 }
-            );
+                return result;
+            },
+            function(err) {
+                throw err;
+            }
+        );
     };
 
     this.tokenLogin = function(token) {
-        var deferred = $q.defer();
-
         userModel.resetUser();
-
-        $http.post(ENV.api['root'] + "user/login/token", { t: token })
-            .then(
-                function() {
-                    deferred.resolve();
-                },
-                function() {
-                    deferred.reject();
-                }
-            );
-
-        return deferred.promise;
+        return $http.post(ENV.api['root'] + "user/login/token", { t: token 
}).then(
+            function(result) {
+                return result;
+            },
+            function(err) {
+                throw err;
+            }
+        );
     };
 
     this.logout = function() {
         userModel.resetUser();
-        httpService.post(ENV.api['root'] + 'user/logout').
-            then(
-                function(result) {
-                    $rootScope.$broadcast('trafficPortal::exit');
-                    if ($state.current.name == 'trafficPortal.public.login') {
-                        messageModel.setMessages(result.alerts, false);
-                    } else {
-                        messageModel.setMessages(result.alerts, true);
-                        $state.go('trafficPortal.public.login');
-                    }
-                    return result;
+        return $http.post(ENV.api['root'] + 'user/logout').then(
+            function(result) {
+                $rootScope.$broadcast('trafficPortal::exit');
+                if ($state.current.name == 'trafficPortal.public.login') {
+                    messageModel.setMessages(result.alerts, false);
+                } else {
+                    messageModel.setMessages(result.alerts, true);
+                    $state.go('trafficPortal.public.login');
                 }
+                return result;
+            },
+            function(err) {
+                throw err;
+            }
         );
     };
 
 };
 
-AuthService.$inject = ['$rootScope', '$http', '$state', '$location', '$q', 
'$state', 'httpService', 'userModel', 'messageModel', 'ENV'];
+AuthService.$inject = ['$rootScope', '$http', '$state', '$location', 
'userModel', 'messageModel', 'ENV'];
 module.exports = AuthService;
diff --git a/traffic_portal/app/src/modules/public/login/LoginController.js 
b/traffic_portal/app/src/modules/public/login/LoginController.js
index 33bb557..374177c 100644
--- a/traffic_portal/app/src/modules/public/login/LoginController.js
+++ b/traffic_portal/app/src/modules/public/login/LoginController.js
@@ -24,15 +24,15 @@ var LoginController = function($scope, $log, $uibModal, 
authService, userService
         password: ''
     };
 
-    $scope.login = function($event, credentials) {
-        var $btn = $($event.target);
-        $btn.prop('disabled', true); // disable the login button to prevent 
multiple clicks
-        authService.login(credentials.username, credentials.password)
-            .then(
-                function() {
-                    $btn.prop('disabled', false); // re-enable it
-                }
-            );
+    $scope.login = function(event, credentials) {
+        event.stopImmediatePropagation();
+        const btn = event.currentTarget;
+        btn.disabled = true; // disable the login button to prevent multiple 
clicks
+        authService.login(credentials.username, credentials.password).finally(
+            function() {
+                btn.disabled = false; // re-enable it
+            }
+        );
     };
 
     $scope.resetPassword = function() {

Reply via email to