66 lines
1.8 KiB
JavaScript
66 lines
1.8 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);
|
|
};
|
|
|
|
}]);
|