diff --git a/config/routes/settings.js b/config/routes/settings.js
index fa6d726..4acfc01 100644
--- a/config/routes/settings.js
+++ b/config/routes/settings.js
@@ -166,57 +166,55 @@ router.route('/')
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
router.get('/email/:token', mw.ensureAuth, (req,res,next)=>{
+
+ // Check token
+ if ( req.user.emailToken===req.params.token) {
- // Check token
- if ( req.user.emailToken===req.params.token) {
-
- // Set new email
- req.user.email = req.user.newEmail;
- req.user.save()
- .then( ()=>{
- // Delete token and newEmail
- req.user.emailToken = undefined;
- req.user.newEmail = undefined;
- req.user.save();
- })
- .then( ()=>{
- // Report success
- req.flash('success',`Your email has been set to ${req.user.email}. `);
- 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. ');
+ // Set new email
+ req.user.email = req.user.newEmail;
+ req.user.save()
+ .then( ()=>{
+ // Delete token and newEmail
+ req.user.emailToken = undefined;
+ req.user.newEmail = undefined;
+ req.user.save();
+ })
+ .then( ()=>{
+ // Report success
+ req.flash('success',`Your email has been set to ${req.user.email}. `);
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
router.route('/password')
diff --git a/static/js/settings.js b/static/js/settings.js
index 77be716..4be5c27 100644
--- a/static/js/settings.js
+++ b/static/js/settings.js
@@ -26,16 +26,7 @@ $(function(){
// Delete account
$('#delete').click(function(){
if (confirm("Are you sure you want to delete your account? This CANNOT be undone! ")) {
- $.ajax({
- url: '/settings',
- type: 'DELETE',
- success: function(){
- location.reload();
- },
- fail: function(){
- alert("Failed to delete account!");
- }
- });
+ window.location.href = "/settings/delete";
}
});