Fixed #83
parent
27af445e6f
commit
e23c00f41c
|
@ -166,57 +166,55 @@ router.route('/')
|
||||||
res.redirect('/settings');
|
res.redirect('/settings');
|
||||||
});
|
});
|
||||||
|
|
||||||
} )
|
|
||||||
|
|
||||||
// Delete user account
|
|
||||||
.delete( (req,res,next)=>{
|
|
||||||
|
|
||||||
User.findByIdAndRemove(req.user)
|
|
||||||
.then( ()=>{
|
|
||||||
req.flash('success', 'Your account has been deleted. ');
|
|
||||||
res.redirect('/');
|
|
||||||
})
|
|
||||||
.catch( (err)=>{
|
|
||||||
mw.throwErr(err,req);
|
|
||||||
res.redirect('/settings');
|
|
||||||
});
|
|
||||||
|
|
||||||
} );
|
} );
|
||||||
|
|
||||||
|
// Delete account
|
||||||
|
router.get('/delete', (req,res)=>{
|
||||||
|
User.findByIdAndRemove(req.user)
|
||||||
|
.then( ()=>{
|
||||||
|
req.flash('success', 'Your account has been deleted. ');
|
||||||
|
res.redirect('/');
|
||||||
|
})
|
||||||
|
.catch( (err)=>{
|
||||||
|
mw.throwErr(err,req);
|
||||||
|
res.redirect('/settings');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
// Confirm email address
|
// Confirm email address
|
||||||
router.get('/email/:token', mw.ensureAuth, (req,res,next)=>{
|
router.get('/email/:token', mw.ensureAuth, (req,res,next)=>{
|
||||||
|
|
||||||
|
// Check token
|
||||||
|
if ( req.user.emailToken===req.params.token) {
|
||||||
|
|
||||||
// Check token
|
// Set new email
|
||||||
if ( req.user.emailToken===req.params.token) {
|
req.user.email = req.user.newEmail;
|
||||||
|
req.user.save()
|
||||||
// Set new email
|
.then( ()=>{
|
||||||
req.user.email = req.user.newEmail;
|
// Delete token and newEmail
|
||||||
req.user.save()
|
req.user.emailToken = undefined;
|
||||||
.then( ()=>{
|
req.user.newEmail = undefined;
|
||||||
// Delete token and newEmail
|
req.user.save();
|
||||||
req.user.emailToken = undefined;
|
})
|
||||||
req.user.newEmail = undefined;
|
.then( ()=>{
|
||||||
req.user.save();
|
// Report success
|
||||||
})
|
req.flash('success',`Your email has been set to <u>${req.user.email}</u>. `);
|
||||||
.then( ()=>{
|
|
||||||
// Report success
|
|
||||||
req.flash('success',`Your email has been set to <u>${req.user.email}</u>. `);
|
|
||||||
res.redirect('/settings');
|
|
||||||
})
|
|
||||||
.catch( (err)=>{
|
|
||||||
mw.throwErr(err,req);
|
|
||||||
res.redirect(req.session.next||'/settings');
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Invalid token
|
|
||||||
else {
|
|
||||||
req.flash('danger', 'Email confirmation token is invalid. ');
|
|
||||||
res.redirect('/settings');
|
res.redirect('/settings');
|
||||||
}
|
})
|
||||||
|
.catch( (err)=>{
|
||||||
|
mw.throwErr(err,req);
|
||||||
|
res.redirect(req.session.next||'/settings');
|
||||||
|
});
|
||||||
|
|
||||||
} );
|
}
|
||||||
|
|
||||||
|
// Invalid token
|
||||||
|
else {
|
||||||
|
req.flash('danger', 'Email confirmation token is invalid. ');
|
||||||
|
res.redirect('/settings');
|
||||||
|
}
|
||||||
|
|
||||||
|
} );
|
||||||
|
|
||||||
// Set password
|
// Set password
|
||||||
router.route('/password')
|
router.route('/password')
|
||||||
|
|
|
@ -26,16 +26,7 @@ $(function(){
|
||||||
// Delete account
|
// Delete account
|
||||||
$('#delete').click(function(){
|
$('#delete').click(function(){
|
||||||
if (confirm("Are you sure you want to delete your account? This CANNOT be undone! ")) {
|
if (confirm("Are you sure you want to delete your account? This CANNOT be undone! ")) {
|
||||||
$.ajax({
|
window.location.href = "/settings/delete";
|
||||||
url: '/settings',
|
|
||||||
type: 'DELETE',
|
|
||||||
success: function(){
|
|
||||||
location.reload();
|
|
||||||
},
|
|
||||||
fail: function(){
|
|
||||||
alert("Failed to delete account!");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue