You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ak...@apache.org on 2015/07/10 08:04:48 UTC
incubator-ignite git commit: IGNITE-843 WIP on profile update.
Repository: incubator-ignite
Updated Branches:
refs/heads/ignite-843 55eeb8710 -> 68fc3dd7e
IGNITE-843 WIP on profile update.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/68fc3dd7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/68fc3dd7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/68fc3dd7
Branch: refs/heads/ignite-843
Commit: 68fc3dd7eb698dcad09e37a1b63c9ec2063c9b0b
Parents: 55eeb87
Author: AKuznetsov <ak...@gridgain.com>
Authored: Fri Jul 10 13:04:43 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Fri Jul 10 13:04:43 2015 +0700
----------------------------------------------------------------------
.../nodejs/controllers/profile-controller.js | 53 ++++++-------
.../web-control-center/nodejs/routes/profile.js | 80 +++++++++++++-------
.../nodejs/views/profile.jade | 10 +--
3 files changed, 83 insertions(+), 60 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/68fc3dd7/modules/web-control-center/nodejs/controllers/profile-controller.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/controllers/profile-controller.js b/modules/web-control-center/nodejs/controllers/profile-controller.js
index 11c965e..f6330a7 100644
--- a/modules/web-control-center/nodejs/controllers/profile-controller.js
+++ b/modules/web-control-center/nodejs/controllers/profile-controller.js
@@ -20,8 +20,6 @@ controlCenterModule.controller('profileController', ['$scope', '$alert', '$http'
$scope.profileUser = angular.copy($scope.loggedInUser);
- $scope.editField = null;
-
$scope.showInfo = function (msg) {
$scope.showAlert(msg, 'success');
};
@@ -42,38 +40,41 @@ controlCenterModule.controller('profileController', ['$scope', '$alert', '$http'
};
$scope.saveUser = function() {
+ var profile = $scope.profileUser;
+
if ($scope.profileUser) {
- var userName = $scope.profileUser.username;
- var oldPass = $scope.profileUser.oldPassword;
- var newPass = $scope.profileUser.newPassword;
- var confirm = $scope.profileUser.confirm;
+ var userName = profile.username;
+ var email = profile.email;
+ var oldPassword = profile.oldPassword;
+ var newPassword = profile.newPassword;
+ var confirmPassword = profile.confirmPassword;
+
+ var changeUsername = userName && userName.length > 0 && userName != $scope.loggedInUser.username;
+ var changeEmail = email && email.length > 0 && email != $scope.loggedInUser.email;
- if (userName && oldPass && newPass && confirm &&
- userName.length > 0 && oldPass.length > 0 && newPass.length > 0 && confirm.length > 0 &&
- newPass == confirm
- ) {
- $http.post('/profile/changePassword', {
- _id: $scope.editableUser._id,
- pass: $scope.pass1
+ var changePassword = profile.changePassword && oldPassword && newPassword && confirmPassword &&
+ oldPassword.length > 0 && newPassword.length > 0 && confirmPassword.length > 0 && newPassword == confirmPassword;
+
+ if (changeUsername || changeEmail || changePassword) {
+ $http.post('/profile/saveUser', {
+ _id: profile._id,
+ changeUsername: changeUsername,
+ userName: userName,
+ changeEmail: changeEmail,
+ email: email,
+ changePassword: changePassword,
+ oldPassword: oldPassword,
+ newPassword: newPassword,
+ confirmPassword: confirmPassword
}).success(function () {
$scope.showInfo('Profile saved.');
+
+ if (changeUsername)
+ $scope.loggedInUser.username = userName;
}).error(function (err) {
$scope.showError('Failed to save profile: ' + commonFunctions.errorMessage(err));
});
}
}
};
-
- //$scope.$watch('editField', function(val) {
- // if (!angular.equals($scope.editableUser, $scope.savedUser)) {
- // $http.post('/profile/saveUser', $scope.editableUser).success(function(updatedUser) {
- // angular.copy(updatedUser, $scope.savedUser);
- // angular.copy(updatedUser, $scope.editableUser);
- //
- // $scope.showInfo('Profile has been updated');
- // }).error(function(err) {
- // $scope.showError('Failed to update profile: ' + commonFunctions.errorMessage(err));
- // });
- // }
- //});
}]);
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/68fc3dd7/modules/web-control-center/nodejs/routes/profile.js
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/routes/profile.js b/modules/web-control-center/nodejs/routes/profile.js
index 71b03af..79c70c5 100644
--- a/modules/web-control-center/nodejs/routes/profile.js
+++ b/modules/web-control-center/nodejs/routes/profile.js
@@ -19,7 +19,7 @@ var router = require('express').Router();
var db = require('../db');
var uiUtils = require('../helpers/ui-utils');
-router.all('/profile/*', function(req, res, next) {
+router.all('/profile/*', function (req, res, next) {
var userId = req.body._id;
if (userId != req.currentUserId() && userId != req.user._id)
@@ -31,52 +31,74 @@ router.all('/profile/*', function(req, res, next) {
/**
* Get list of user accounts.
*/
-router.get('/', function(req, res) {
+router.get('/', function (req, res) {
var user_id = req.currentUserId();
db.Account.findById(user_id, function (err, user) {
if (err)
return res.status(500).send(err.message);
- res.render('profile', {editableUser: user});
+ res.render('profile');
});
});
-router.post('/saveUser', function(req, res) {
- var u = {
- username: req.body.username
- };
-
- db.Account.findByIdAndUpdate(req.body._id, u, {new: true}, function(err, val) {
- if (err)
- return res.status(500).send(err);
-
- res.json(uiUtils.filterUser(val));
- })
-});
+router.post('/saveUser', function (req, res) {
+ var params = req.body;
-router.post('/changePassword', function(req, res) {
- var pass = req.body.pass;
-
- if (!pass || pass.length == 0)
- return res.sendStatus(500);
-
- db.Account.findById(req.body._id, function(err, user) {
- if (err)
- return res.status(500).send(err);
-
- user.setPassword(pass, function (err, updatedUser) {
+ if (params.changeUsername || params.changeEmail) {
+ var u = {};
+
+ if (params.changeUsername)
+ u.username = params.userName;
+
+ if (params.changeEmail)
+ u.email = params.email;
+
+ db.Account.findByIdAndUpdate(req.body._id, u, {new: true}, function (err, val) {
if (err)
return res.status(500).send(err);
- updatedUser.save(function(err) {
+ res.json(uiUtils.filterUser(val));
+ })
+ }
+
+ if (params.changeEmail) {
+ // TODO
+ }
+
+ if (params.changePassword) {
+ var oldPassword = params.oldPassword;
+ var newPassword = params.newPassword;
+ var confirmPassword = params.confirmPassword;
+
+ var zz = user.verifyPassword(oldPassword);
+
+ if (!oldPassword || oldPassword.length == 0 || !zz)
+ return res.status(500).send('Wrong value for old password');
+
+ if (!newPassword || newPassword.length == 0)
+ return res.status(500).send('Wrong value for new password');
+
+ if (!confirmPassword || confirmPassword.length == 0 || newPassword != oldPassword)
+ return res.status(500).send('New password does not match confirmation');
+
+ db.Account.findById(params._id, function (err, user) {
+ if (err)
+ return res.status(500).send(err);
+
+ user.setPassword(newPassword, function (err, updatedUser) {
if (err)
return res.status(500).send(err);
- res.json(uiUtils.filterUser(user));
+ updatedUser.save(function (err) {
+ if (err)
+ return res.status(500).send(err);
+
+ res.json(uiUtils.filterUser(user));
+ });
});
});
- })
+ }
});
module.exports = router;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/68fc3dd7/modules/web-control-center/nodejs/views/profile.jade
----------------------------------------------------------------------
diff --git a/modules/web-control-center/nodejs/views/profile.jade b/modules/web-control-center/nodejs/views/profile.jade
index f726bc4..83deae2 100644
--- a/modules/web-control-center/nodejs/views/profile.jade
+++ b/modules/web-control-center/nodejs/views/profile.jade
@@ -41,21 +41,21 @@ block container
input.form-control(type='email' ng-model='profileUser.email' placeholder='you@domain.com' required)
.details-row
label
- input(type="checkbox" ng-model='change_password')
+ input(type="checkbox" ng-model='profileUser.changePassword')
| Change password
- div(ng-show='change_password')
+ div(ng-show='profileUser.changePassword')
.details-row
+lbl('Old password:')
.col-sm-4
- input.form-control(ng-show='change_password' type='password', ng-model='profileUser.oldPassword' placeholder='Old password' ng-required='change_password')
+ input.form-control(type='password', ng-model='profileUser.oldPassword' placeholder='Old password' ng-required='profileUser.changePassword')
.details-row
+lbl('New password:')
.col-sm-4
- input.form-control(ng-show='change_password' type='password', ng-model='profileUser.newPassword' placeholder='New password' ng-required='change_password')
+ input.form-control(type='password', ng-model='profileUser.newPassword' placeholder='New password' ng-required='profileUser.changePassword')
.details-row
+lbl('Confirm:')
.col-sm-4
- input.form-control(type='password', ng-model='profileUser.confirm' placeholder='Confirm' ng-required='change_password')
+ input.form-control(type='password', ng-model='profileUser.confirmPassword' placeholder='Confirm' ng-required='profileUser.changePassword')
.col-sm-12.details-row
button#save-btn.btn.btn-primary(ng-disabled='profileForm.$invalid' ng-click='saveUser()') Save