istic-openstack/client/js/controllers/login.js
Loic GUEGAN 21b68f1da1 Test
2016-04-16 22:06:18 +02:00

65 lines
2 KiB
JavaScript

/**
* 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', function ($scope, $sce, Identity)
{
// 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');
}
// Reset button state
$('#loginButton').show();
$('#loadingLoginButton').hide();
}
// Try to login
Identity.login(username, password, projectname, responseCallback);
};
}]);