From d24045ec497119f5b5dbd822c17aff651986b53e Mon Sep 17 00:00:00 2001 From: Sahat Yalkabov Date: Tue, 18 Feb 2014 03:29:25 -0500 Subject: [PATCH] Merged first and second waterfall steps into one, added var secrets = require('../config/secrets');, and mongoose query now returns a user object instead of an array --- controllers/reset.js | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/controllers/reset.js b/controllers/reset.js index 7faa9ad889..81d3beede7 100644 --- a/controllers/reset.js +++ b/controllers/reset.js @@ -14,7 +14,7 @@ exports.getReset = function(req, res) { } User - .where('resetPasswordToken', req.params.token) + .findOne({ resetPasswordToken: req.params.token }) .where('resetPasswordExpires').gt(Date.now()) .exec(function(err, user) { if (!user) { @@ -46,27 +46,25 @@ exports.postReset = function(req, res, next) { async.waterfall([ function(done) { User - .where('resetPasswordToken', req.params.token) + .findOne({ resetPasswordToken: req.params.token }) .where('resetPasswordExpires').gt(Date.now()) .exec(function(err, user) { if (!user) { - req.flash('errors', { msg: 'Password reset request is invalid. It may have expired.' }); + req.flash('errors', { msg: 'Password reset token is invalid or has expired.' }); return res.redirect('back'); } - done(err, user); - }); - }, - function(user, done) { - user.password = req.body.password; - user.resetPasswordToken = undefined; - user.resetPasswordExpires = undefined; - user.save(function(err) { - if (err) return next(err); - req.logIn(user, function(err) { - done(err, user); + user.password = req.body.password; + user.resetPasswordToken = undefined; + user.resetPasswordExpires = undefined; + + user.save(function(err) { + if (err) return next(err); + req.logIn(user, function(err) { + done(err, user); + }); + }); }); - }); }, function(user, done) { var smtpTransport = nodemailer.createTransport('SMTP', {