Check if email is already taken when creating a new local account

This commit is contained in:
Sahat Yalkabov
2014-04-25 14:29:54 -04:00
parent 18d13b67e1
commit 4cf0f654fb

View File

@ -96,16 +96,17 @@ exports.postSignup = function(req, res, next) {
password: req.body.password
});
user.save(function(err) {
if (err) {
if (err.code === 11000) {
req.flash('errors', { msg: 'User with that email already exists.' });
}
User.findOne({ email: req.body.email }, function(err, existingUser) {
if (existingUser) {
req.flash('errors', { msg: 'Account with that email address already exists.' });
return res.redirect('/signup');
}
req.logIn(user, function(err) {
user.save(function(err) {
if (err) return next(err);
res.redirect('/');
req.logIn(user, function(err) {
if (err) return next(err);
res.redirect('/');
});
});
});
};