/**
* @ngdoc controller
* @name transactionCtrl
* @description Handles All transactions
* @param {service} $scope
* @memberof ClientApp
*/
app.controller('usersCtrl', ['$scope', '$rootScope', 'Requests', '$state',
'localStorageService', '$http', '$timeout',
function(
scope,
rootScope,
Requests,
state,
localStorageService,
http,
timeout) {
get();
/**
* method
* usersCtrl.get
*/
function get() {
var payload = {};
payload.request_type = "all";
Requests.get('users', payload, function(data) {
if (data) {
rootScope.users = data.data;
}
});
}
/**
* method
* usersCtrl.login
*/
scope.login = function login() {
var payload = scope.user;
payload.top_level = true;
Requests.post('login', payload, function(data) {
if (data) {
rootScope.user = data
localStorageService.set('user', data)
http.defaults.headers.post = {
'Authorization': 'Bearer ' + data.token
};
http.defaults.headers.get = {
'Authorization': 'Bearer ' + data.token
}
http.defaults.headers.put = {
'Authorization': 'Bearer ' + data.token
}
scope.success = {
icon: "ion-checkmark",
type: "success",
message: 'Login Successful'
}
rootScope.error = null;
timeout(function() {
state.go('account.home')
}, 2000)
}
})
}
scope.add = function add() {
var payload = scope.chosen;
payload.request_type = "adminRegister";
Requests.post('users', payload, function(data) {
console.log(payload)
})
}
scope.update = function update() {
var payload = scope.chosen;
payload.request = "updater"
Requests.put('users', payload, function(data) {
console.log(data)
})
}
scope.view = function view(user) {
scope.chosen = user;
localStorageService.set('user.chosen', user);
state.go('account.users.edit')
}
get_roles()
function get_roles() {
if (rootScope.user) {
var payload = {};
payload.request_type = "all";
Requests.get('access', payload, function(data) {
scope.roles = data.data;
})
}
}
scope.new = function new_user() {
scope.chosen = {};
localStorageService.set('user.chosen', scope.chosen);
state.go('account.users.new')
}
retrieve_chosen_user();
function retrieve_chosen_user() {
var user = localStorageService.get('user.chosen');
scope.chosen = user;
}
check_if_logged_in()
function check_if_logged_in() {
if (state.current.name == 'login') {
if (rootScope.user) {
state.go('account.home')
} else {
http.defaults.headers.post = {
"Content-Type": "application/json;charset=utf-8"
};
http.defaults.headers.get = {
"Content-Type": "application/json;charset=utf-8"
};
http.defaults.headers.put = {
"Content-Type": "application/json;charset=utf-8"
};
}
}
}
/**
* method
* usersCtrl.logout
*/
scope.logout = function logout() {
var payload = {};
payload.top_level = true;
rootScope.user = false;
localStorageService.remove('user');
Requests.get('logout', payload, function(data) {
if (data) {
console.log(data)
state.go('login')
}
})
}
}
]);
/**
* @ngdoc run
* @name Users RUN
*/
app.run(['$rootScope', 'localStorageService', '$http', 'Permission', function(
rootScope,
localStorageService,
http,
Permission) {
if (localStorageService.get('user') != null) {
rootScope.user = localStorageService.get('user')
var user = rootScope.user;
if (!rootScope.user) {
http.defaults.headers.post = {
"Content-Type": "application/json;charset=utf-8"
};
http.defaults.headers.get = {
"Content-Type": "application/json;charset=utf-8"
};
http.defaults.headers.put = {
"Content-Type": "application/json;charset=utf-8"
};
}
if (user) {
rootScope.token = user.token;
http.defaults.headers.post = {
'Authorization': 'Bearer ' + rootScope.token
};
http.defaults.headers.get = {
'Authorization': 'Bearer ' + rootScope.token
}
http.defaults.headers.put = {
'Authorization': 'Bearer ' + rootScope.token
}
}
//Permission.defineRole('user', function (stateParams) {
// // If the returned value is *truthy* then the user has the role, otherwise they don't
// if(rootScope.user){
// if (rootScope.user.role == "user"){
// return true
// }
// }
// else{
// return false
// }
// })
// .defineRole('admin', function (stateParams) {
// // If the returned value is *truthy* then the user has the role, otherwise they don't
// if(rootScope.user){
// if (rootScope.user.role == "admin"){
// return true
// }
// }
// else{
// return false
// }
// });
}
}])