Make Identity module more AngularJs Like !
This commit is contained in:
parent
1cd1ae92f4
commit
65bcc72059
7 changed files with 63 additions and 82 deletions
client
|
@ -72,10 +72,7 @@
|
|||
<script src="./js/app.js"></script>
|
||||
|
||||
<!-- Include services -->
|
||||
<script src="./js/services/sharedProfile.js"></script>
|
||||
|
||||
<!-- Include resquest dependencies -->
|
||||
<script src="./js/requests/identity.js"></script>
|
||||
<script src="./js/services/Identity.js"></script>
|
||||
|
||||
<!-- Include controller -->
|
||||
<script src="./js/controllers/login.js"></script>
|
||||
|
@ -87,4 +84,4 @@
|
|||
|
||||
|
||||
|
||||
</html>
|
||||
</html>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
* @param {sharedProfile} sharedProfile The sharedProfile service
|
||||
|
||||
*/
|
||||
mainApp.controller('loginCtrl', ['$scope','$sce','$http', 'sharedProfile', function ($scope,$sce, $http, sharedProfile)
|
||||
mainApp.controller('loginCtrl', ['$scope','$sce','Identity', function ($scope,$sce, Identity)
|
||||
{
|
||||
// Define default states
|
||||
$('#loginModal').modal({backdrop: 'static', keyboard: false});
|
||||
|
@ -24,23 +24,23 @@ mainApp.controller('loginCtrl', ['$scope','$sce','$http', 'sharedProfile', funct
|
|||
var password=$("#loginFormPassword").val();
|
||||
var projectname=$("#loginFormProjectname").val();
|
||||
|
||||
var result=identity.request.login($http,username, password, projectname);
|
||||
var result=Identity.login(username, password, projectname);
|
||||
|
||||
|
||||
result.then(function (response){
|
||||
// Parser result
|
||||
var requestResultObject=identity.requestParser.parseLoginAnswer(response);
|
||||
var requestResultObject=Identity.parseLoginAnswer(response);
|
||||
|
||||
// Check for error
|
||||
if(requestResultObject.status!==0){
|
||||
//alert(result.data)
|
||||
|
||||
$('#failedToLoginAlert').show();
|
||||
}
|
||||
else {
|
||||
$('#loginModal').modal('hide');
|
||||
sharedProfile.username=username;
|
||||
sharedProfile.projectname=projectname;
|
||||
|
||||
$('#loginModal').modal('hide');
|
||||
Identity.profile.username=username;
|
||||
Identity.profile.projectname=projectname;
|
||||
|
||||
}
|
||||
|
||||
// Reset button state
|
||||
|
|
|
@ -6,9 +6,9 @@
|
|||
* @param {$scope} $scope The $scope service from angular
|
||||
* @param {sharedProfile} sharedProfile The sharedProfile build by ourself
|
||||
*/
|
||||
mainApp.controller('statusCtrl', ['$scope','sharedProfile', function ($scope, sharedProfile)
|
||||
mainApp.controller('statusCtrl', ['$scope','Identity', function ($scope, Identity)
|
||||
{
|
||||
$scope.profile=sharedProfile;
|
||||
$scope.profile=Identity.profile;
|
||||
|
||||
|
||||
}]);
|
||||
}]);
|
||||
|
|
|
@ -1,52 +0,0 @@
|
|||
|
||||
/**
|
||||
* Client Identity Module
|
||||
* @namespace identity
|
||||
*/
|
||||
var identity = {};
|
||||
|
||||
/**
|
||||
* Contain all request who can be send with http request
|
||||
* @namespace request
|
||||
*/
|
||||
identity.request = {};
|
||||
|
||||
/**
|
||||
* Contain parser for result of request made by {@link identity.request}
|
||||
* @namespace request
|
||||
*/
|
||||
identity.requestParser = {};
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {object} $http Angular $http service
|
||||
* @param {string} username The user name
|
||||
* @param {string} password The user password
|
||||
* @param {string} projectname The user project name
|
||||
* @returns {promise} The result of the request
|
||||
*/
|
||||
identity.request.login=function($http,username, password,projectname){
|
||||
return $http.post('../server/index.php',
|
||||
$.param({"task" : "Authenticate", "user" : username, "password" : password, "project" : projectname}));
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {string} response The response to parse
|
||||
* @returns {requestParserResult} Formated data
|
||||
*/
|
||||
identity.requestParser.parseLoginAnswer=function(response){
|
||||
var requestParserResult={};
|
||||
|
||||
requestParserResult.status=0;
|
||||
requestParserResult.data=response.data;
|
||||
|
||||
|
||||
// TODO
|
||||
|
||||
|
||||
return requestParserResult;
|
||||
};
|
||||
|
49
client/js/services/Identity.js
Normal file
49
client/js/services/Identity.js
Normal file
|
@ -0,0 +1,49 @@
|
|||
|
||||
mainApp.factory('Identity',[ '$http', function($http){
|
||||
var profile={};
|
||||
profile.username="None";
|
||||
profile.projectname="None";
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {object} $http Angular $http service
|
||||
* @param {string} username The user name
|
||||
* @param {string} password The user password
|
||||
* @param {string} projectname The user project name
|
||||
* @returns {promise} The result of the request
|
||||
*/
|
||||
var login=function(username, password,projectname){
|
||||
return $http.post('../server/index.php',
|
||||
$.param({"task" : "Authenticate", "user" : username, "password" : password, "project" : projectname}));
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {string} response The response to parse
|
||||
* @returns {requestParserResult} Formated data
|
||||
*/
|
||||
var parseLoginAnswer=function(response){
|
||||
var requestParserResult={};
|
||||
|
||||
requestParserResult.status=0;
|
||||
requestParserResult.data=response.data;
|
||||
|
||||
|
||||
// TODO
|
||||
|
||||
|
||||
return requestParserResult;
|
||||
};
|
||||
|
||||
|
||||
|
||||
return {
|
||||
login: login,
|
||||
parseLoginAnswer: parseLoginAnswer,
|
||||
profile: profile
|
||||
};
|
||||
|
||||
|
||||
}]);
|
|
@ -1,13 +0,0 @@
|
|||
|
||||
/**
|
||||
* The sharedProfile service
|
||||
* It's used to shared the profile between controller
|
||||
*/
|
||||
mainApp.factory('sharedProfile',[function(){
|
||||
var profile={};
|
||||
|
||||
profile.username="None";
|
||||
profile.projectname="None";
|
||||
|
||||
return profile;
|
||||
}]);
|
|
@ -39,4 +39,4 @@
|
|||
</ul>
|
||||
</div><!-- /.navbar-collapse -->
|
||||
</div><!-- /.container-fluid -->
|
||||
</nav>
|
||||
</nav>
|
||||
|
|
Loading…
Add table
Reference in a new issue