/** * The login controler * @param {$scope} $scope The $scope angular service * @param {$sce} $sce The $sce angular service * @param {$http} $http The $http angular service * @param {Identity} The Identity service */ mainApp.controller('loginCtrl', ['$scope', '$sce', 'Identity', '$rootScope', function ($scope, $sce, Identity, $rootScope) { // Check for login and define default states if (!Identity.isAlreadyLogin()) { $('#loginModal').modal({backdrop: 'static', keyboard: false}); } // Manager logout event $scope.$on('logoutEvent', function () { $('#loginModal').modal({backdrop: 'static', keyboard: false}); }); // Hide loading button and message alert $('#loadingLoginButton').hide(); $('#failedToLoginAlert').hide(); // Defined function for login $scope.loginAction = function () { // Begin login state for template $('#loginButton').hide(); $('#loadingLoginButton').show(); $('#failedToLoginAlert').hide(); // Get data from templates var username = $("#loginFormUsername").val(); var password = $("#loginFormPassword").val(); var projectname = $("#loginFormProjectname").val(); // Function to call to handle result var responseCallback = function (response) { if (response.status !== 0) { // Set reason of fail $scope.failReason = response.failReason; // Display the error $('#failedToLoginAlert').show(); } else { // Else the user is online ! $('#loginModal').modal('hide'); // Send login event $rootScope.$broadcast("loginEvent"); } // Reset button state $('#loginButton').show(); $('#loadingLoginButton').hide(); }; // Try to login Identity.login(username, password, projectname, responseCallback); }; }]);