login logout implemented

This commit is contained in:
arnaucode
2017-02-21 14:16:53 +01:00
parent 840d8b8663
commit c9ee46d739
11 changed files with 277 additions and 7 deletions

View File

@@ -1,5 +1,5 @@
//var urlapi = "http://localhost:3000/api/";
var urlapi = "http://192.168.1.34:3000/api/";
var urlapi = "http://localhost:3000/api/";
//var urlapi = "http://192.168.1.34:3000/api/";
@@ -13,8 +13,10 @@ angular.module('app', [
'app.event',
'app.alerts',
'app.savedEvents',
'app.byCategories',
'app.users',
'app.user'
'app.user',
'app.login'
])
.run(function($ionicPlatform) {
@@ -89,6 +91,15 @@ angular.module('app', [
}
}
})
.state('app.byCategories', {
url: '/byCategories',
views: {
'menuContent': {
templateUrl: 'templates/byCategories.html',
controller: 'ByCategoriesCtrl'
}
}
})
.state('app.users', {
url: '/users',
views: {
@@ -106,6 +117,15 @@ angular.module('app', [
controller: 'UserCtrl'
}
}
})
.state('app.login', {
url: '/login',
views: {
'menuContent': {
templateUrl: 'templates/login.html',
controller: 'LoginCtrl'
}
}
});
// if none of the above states are matched, use this as the fallback

78
www/js/byCategories.js Normal file
View File

@@ -0,0 +1,78 @@
angular.module('app.byCategories', ['pascalprecht.translate'])
.controller('ByCategoriesCtrl', function($scope, $http, $ionicModal,
$timeout, $ionicLoading, $filter) {
$scope.events=[];
$scope.alerts=[];
$scope.page=0;
$scope.doRefresh = function() {
/* events refresh: */
//$http.get(urlapi + 'events?page=' + $scope.page)
$http.get(urlapi + 'events')
.then(function(data){
console.log('data success events');
console.log(data); // for browser console
//$scope.events = data.data; // for UI
$scope.events=data.data;
$scope.$broadcast('scroll.refreshComplete');//refresher stop
}, function(data){
console.log('data error');
$scope.$broadcast('scroll.refreshComplete');//refresher stop
$ionicLoading.show({ template: 'Error connecting server', noBackdrop: true, duration: 2000 });
});
$http.get(urlapi + 'alerts')
.then(function(data){
$scope.alerts=data.data;
}, function(data){
});
};
$scope.doRefresh();
$scope.share = function(event){
var message = "[" + event.title + "]" + event.description;
/*var subject = event.title;
var file= ['',''];*/
var link = "http://duckduckgo.com";
$cordovaSocialSharing
.share(message, link) // Share via native share sheet
.then(function(result) {
// Success!
}, function(err) {
// An error occured. Show a message to the user
});
};
$scope.savedEvents=[];
$scope.$on('$ionicView.enter', function(){//per executar-ho cada cop que es carrega el view
if (localStorage.getItem("events_app_savedEvents")) {
$scope.savedEvents = JSON.parse(localStorage.getItem("events_app_savedEvents"));
console.log("savedEvents");
console.log($scope.savedEvents);
}
});
$scope.saveEvent = function(event){
$scope.savedEvents.push(event);
localStorage.setItem("events_app_savedEvents", JSON.stringify($scope.savedEvents));
$ionicLoading.show({ template: 'Event saved', noBackdrop: true, duration: 1000 });
};
$scope.unsaveEvent = function(event){
for(var i=0; i<$scope.savedEvents.length; i++) {
if ($scope.savedEvents[i]._id === event._id){
$scope.savedEvents.splice(i, 1);
}
}
localStorage.setItem("events_app_savedEvents", JSON.stringify($scope.savedEvents));
$ionicLoading.show({ template: 'Event unsaved', noBackdrop: true, duration: 1000 });
};
$scope.isEventSaved = function(event) {
for(var i=0; i<$scope.savedEvents.length; i++) {
if ($scope.savedEvents[i]._id === event._id){
return true;
}
}
return false;
};
});

39
www/js/login.js Normal file
View File

@@ -0,0 +1,39 @@
angular.module('app.login', ['pascalprecht.translate'])
.controller('LoginCtrl', function($scope, $ionicModal, $timeout, $http, $window, $ionicLoading) {
// Form data for the login modal
$scope.loginData = {};
// Perform the login action when the user submits the login form
$scope.doLogin = function() {
console.log('Doing login', $scope.loginData);
$http({
url: urlapi + 'login',
method: "POST",
data: $scope.loginData
})
.then(function(response) {
// success
console.log("response: ");
console.log(response.data);
if (response.data.success == true)
{
localStorage.setItem("events_app_token", response.data.token);
localStorage.setItem("events_app_userdata", JSON.stringify(response.data.user));
window.location.href="#/app/main";
window.location.reload();
}else{
console.log("login failed");
$ionicLoading.show({ template: 'Login failed, user or password error.', noBackdrop: true, duration: 2000 });
}
},
function(response) { // optional
// failed
console.log(response);
});
};
});

View File

@@ -2,6 +2,7 @@ angular.module('app.menu', ['pascalprecht.translate'])
.controller('MenuCtrl', function($scope, $window) {
$scope.storageuser;
if (localStorage.getItem("events_app_userdata")) {
$scope.storageuser = JSON.parse(localStorage.getItem("events_app_userdata"));
console.log($scope.storageuser);