diff --git a/public/modules/users/config/users.client.routes.js b/public/modules/users/config/users.client.routes.js index 898c72d3..14b061d8 100755 --- a/public/modules/users/config/users.client.routes.js +++ b/public/modules/users/config/users.client.routes.js @@ -4,25 +4,26 @@ angular.module('users').config(['$stateProvider', function($stateProvider) { - var checkCurrentUser = function($q, $state, User, Auth) { - var deferred = $q.defer(); - + var checkLoggedin = function($q, $timeout, $state, User, Auth) { + if (Auth.currentUser && Auth.currentUser.email) { - deferred.resolve(Auth.currentUser); - } else { - User.getCurrent().then( - function(user) { - Auth.login(); - deferred.resolve(user); + return; + } + else { + return User.getCurrent().then( + function(user) { + Auth.login(user); + return; }, function() { Auth.logout(); - deferred.reject(); + $timeout(deferred.reject()); $state.go('signin', {reload: true}); + return; }); } - return deferred.promise; + }; var checkSignupDisabled = function($window, $timeout, $q) { diff --git a/public/modules/users/controllers/change_password.client.controller.js b/public/modules/users/controllers/change_password.client.controller.js new file mode 100644 index 00000000..e4114bf8 --- /dev/null +++ b/public/modules/users/controllers/change_password.client.controller.js @@ -0,0 +1,29 @@ +'use strict'; + +angular.module('users').controller('ChangePasswordController', ['$scope', '$rootScope', '$http', '$state', 'Users', 'Auth', + function($scope, $rootScope, $http, $state, Users, Auth) { + + $scope.user = Auth.currentUser; + console.log($scope.user) + + $scope.cancel = function(){ + $scope.user = Auth.currentUser; + } + + // Change user password + $scope.changeUserPassword = function() { + $scope.success = $scope.error = null; + + $http.post('/users/password', $scope.passwordDetails).success(function(response) { + // If successful show success message and clear form + $scope.success = true; + $scope.error = null; + $scope.passwordDetails = null; + }).error(function(response) { + $scope.success = null; + $scope.error = response.message; + }); + }; + */ + } +]); diff --git a/public/modules/users/controllers/settings.client.controller.js b/public/modules/users/controllers/settings.client.controller.js index 45cc0ed3..1404cddf 100755 --- a/public/modules/users/controllers/settings.client.controller.js +++ b/public/modules/users/controllers/settings.client.controller.js @@ -1,47 +1,32 @@ 'use strict'; -angular.module('users').controller('SettingsController', ['$scope', '$rootScope', '$http', '$state', 'Users', 'Auth', 'currentUser', 'USERS_URL', '$translate', - function($scope, $rootScope, $http, $state, Users, Auth, currentUser, USERS_URL, $translate) { +angular.module('users').controller('SettingsController', ['$scope', '$rootScope', '$http', '$state', 'Users', 'Auth', + function($scope, $rootScope, $http, $state, Users, Auth) { - $scope.user = currentUser; + $scope.user = Auth.currentUser; $scope.cancel = function(){ - $scope.user = currentUser; - }; + $scope.user = Auth.currentUser; + } // Update a user profile $scope.updateUserProfile = function(isValid) { - if (isValid && $scope.user) { + if (isValid) { $scope.success = $scope.error = null; + var user = new Users($scope.user); - $http.put(USERS_URL, $scope.user).then(function(response){ + user.$update(function(response) { $scope.success = true; $scope.error = null; - $scope.user = response.data; - - $translate.use($scope.user.language); - Auth.update($scope.user); - }, function(error) { + $scope.user = response; + $scope.$apply(); + }, function(response) { $scope.success = null; - $scope.error = 'Could not update your profile due to an error with the server. Sorry about this!' + $scope.error = response.data.message; }); + } else { + $scope.submitted = true; } }; - - // Change user password - $scope.changeUserPassword = function() { - $scope.success = $scope.error = null; - - $http.post('/users/password', $scope.passwordDetails).then(function(response) { - // If successful show success message and clear form - $scope.success = true; - $scope.error = null; - $scope.passwordDetails = null; - }, function(errResponse) { - $scope.success = null; - $scope.error = errResponse.message; - }); - }; - } ]); diff --git a/public/modules/users/views/settings/change-password.client.view.html b/public/modules/users/views/settings/change-password.client.view.html index 8d622f21..cd039916 100755 --- a/public/modules/users/views/settings/change-password.client.view.html +++ b/public/modules/users/views/settings/change-password.client.view.html @@ -1,6 +1,6 @@
-
+

{{ 'CHANGE_PASSWORD' | translate }}