From 4364b50ecf4fa72fdb7b126868309daab7ccfba2 Mon Sep 17 00:00:00 2001 From: barisusakli Date: Mon, 29 Dec 2014 15:11:52 -0500 Subject: [PATCH] closes #2562 --- src/controllers/admin/users.js | 5 +++++ src/user.js | 2 +- src/user/delete.js | 9 ++++++++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/controllers/admin/users.js b/src/controllers/admin/users.js index 597e87f16c..f750c6648b 100644 --- a/src/controllers/admin/users.js +++ b/src/controllers/admin/users.js @@ -35,6 +35,11 @@ function getUsers(set, req, res, next) { if (err) { return next(err); } + + users = users.filter(function(user) { + return user && parseInt(user.uid, 10); + }); + res.render('admin/manage/users', { search_display: 'hidden', loadmore_display: 'block', diff --git a/src/user.js b/src/user.js index 21ddaa25c6..0333073110 100644 --- a/src/user.js +++ b/src/user.js @@ -244,7 +244,7 @@ var async = require('async'), user['email:confirmed'] = parseInt(user['email:confirmed'], 10) === 1; }); - callback(err, results.userData); + callback(null, results.userData); }); }; diff --git a/src/user/delete.js b/src/user/delete.js index 9d1b546093..12b3f390eb 100644 --- a/src/user/delete.js +++ b/src/user/delete.js @@ -11,6 +11,9 @@ var async = require('async'), module.exports = function(User) { User.delete = function(uid, callback) { + if (!parseInt(uid, 10)) { + return callback(new Error('[[error:invalid-uid]]')); + } async.waterfall([ function(next) { deletePosts(uid, next); @@ -52,7 +55,11 @@ module.exports = function(User) { db.deleteObjectField('userslug:uid', userData.userslug, next); }, function(next) { - db.deleteObjectField('email:uid', userData.email.toLowerCase(), next); + if (userData.email) { + db.deleteObjectField('email:uid', userData.email.toLowerCase(), next); + } else { + next(); + } }, function(next) { db.sortedSetsRemove([