#58 Fixed missing flash alerting user of confirmation email

master
Keith Irwin 2017-04-18 13:03:24 -04:00
parent 1c03b997e1
commit e7ba83e7e5
No known key found for this signature in database
GPG Key ID: 378933C743E2BBC0
1 changed files with 35 additions and 22 deletions

View File

@ -40,7 +40,35 @@ router.route('/')
}
else {
// Confirm email change
function setSettings(){
// Set values
req.user.name = xss(req.body.name);
req.user.slug = slug(xss(req.body.slug));
req.user.settings = {
units: req.body.units,
defaultMap: req.body.map,
defaultZoom: req.body.zoom,
showScale: (req.body.showScale)?true:false,
showSpeed: (req.body.showSpeed)?true:false,
showAlt: (req.body.showAlt)?true:false,
showStreetview: (req.body.showStreet)?true:false
};
// Save user and respond
req.user.save()
.then( ()=>{
req.flash('success', 'Settings updated. ');
res.redirect('/settings');
})
.catch( (err)=>{
mw.throwErr(err,req);
res.redirect('/settings');
});
};
// Email changed
if (req.user.email!==req.body.email) {
req.user.newEmail = req.body.email;
@ -61,6 +89,8 @@ router.route('/')
.then( ()=>{
// Alert user to check email.
req.flash('warning',`An email has been sent to <u>${req.body.email}</u>. Check your inbox to confirm your new email. `);
// Set other settings
setSettings();
})
.catch( (err)=>{
mw.throwErr(err,req);
@ -69,27 +99,10 @@ router.route('/')
});
}
// Set new user settings
req.user.name = xss(req.body.name);
req.user.slug = slug(xss(req.body.slug));
req.user.settings = {
units: req.body.units,
defaultMap: req.body.map,
defaultZoom: req.body.zoom,
showScale: (req.body.showScale)?true:false,
showSpeed: (req.body.showSpeed)?true:false,
showAlt: (req.body.showAlt)?true:false,
showStreetview: (req.body.showStreet)?true:false
};
req.user.save()
.then( ()=>{
req.flash('success', 'Settings updated. ');
res.redirect('/settings');
})
.catch( (err)=>{
mw.throwErr(err,req);
res.redirect('/settings');
});
// Email not changed
else {
setSettings();
}
}