Refactoring

This commit is contained in:
Sahat Yalkabov
2013-12-15 14:11:57 -05:00
parent 273bd0afcc
commit 6e708d2998
2 changed files with 16 additions and 10 deletions

View File

@ -12,7 +12,8 @@ exports.getAccount = function(req, res) {
res.render('account', { res.render('account', {
title: 'Account Management', title: 'Account Management',
user: req.user, user: req.user,
messages: req.flash('messages') success: req.flash('success'),
error: req.flash('error')
}); });
}; };
@ -28,6 +29,7 @@ exports.postAccountProfileTab = function(req, res) {
user.profile.website = req.body.website || ''; user.profile.website = req.body.website || '';
user.save(function(err) { user.save(function(err) {
req.flash('success', 'Profile information updated');
res.redirect('/account'); res.redirect('/account');
}); });
}); });
@ -37,17 +39,21 @@ exports.postAccountProfileTab = function(req, res) {
* POST /account#settings * POST /account#settings
*/ */
exports.postAccountSettingsTab = function(req, res) { exports.postAccountSettingsTab = function(req, res) {
if (!req.body.password || !req.body.confirm.password) {
req.flash('error', 'Passwords cannot be blank');
return res.redirect('/account');
}
if (req.body.password !== req.body.confirmPassword) { if (req.body.password !== req.body.confirmPassword) {
req.flash('messages', 'Passwords do not match'); req.flash('error', 'Passwords do not match');
return res.redirect('/account'); return res.redirect('/account');
} }
User.findById(req.user.id, function(err, user) { User.findById(req.user.id, function(err, user) {
user.password = req.body.password; user.password = req.body.password;
user.save(function(err) { user.save(function(err) {
console.log('Password has been changed.'); req.flash('success', 'Password has been changed');
//TODO: change messages to success/errors
req.flash('messages', 'Password has been successfully changed!');
res.redirect('/account'); res.redirect('/account');
}); });
}); });
@ -153,13 +159,11 @@ exports.postSignup = function(req, res) {
* GET /account/unlink/:provider * GET /account/unlink/:provider
*/ */
exports.getOauthUnlink = function(req, res) { exports.getOauthUnlink = function(req, res) {
console.log('unlinking oauth2');
var provider = req.params.provider; var provider = req.params.provider;
User.findById(req.user.id, function(err, user) { User.findById(req.user.id, function(err, user) {
user[provider] = undefined; user[provider] = undefined;
user.tokens = _.reject(user.tokens, function(token) { return token.kind === 'google'; }); user.tokens = _.reject(user.tokens, function(token) { return token.kind === 'google'; });
user.save(function(err) { user.save(function(err) {
console.log('Successfully unlinked:', provider);
res.redirect('/account#settings'); res.redirect('/account#settings');
}); });
}); });

View File

@ -1,10 +1,12 @@
extends layout extends layout
block content block content
if messages.length if error.length
.alert.alert-danger .alert.alert-danger
for message in messages p= error
div= message if success.length
.alert.alert-success
p= success
ul.nav.nav-tabs#myTab ul.nav.nav-tabs#myTab
li.active li.active