Make Identity module more AngularJs Like !

This commit is contained in:
manzerbredes 2016-02-10 17:47:01 +01:00
parent 1cd1ae92f4
commit 65bcc72059
7 changed files with 63 additions and 82 deletions

View file

@ -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>

View file

@ -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

View file

@ -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;
}]);
}]);

View file

@ -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;
};

View 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
};
}]);

View file

@ -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;
}]);

View file

@ -39,4 +39,4 @@
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>
</nav>