This commit is contained in:
barisusakli
2015-08-28 14:31:35 -04:00
parent bdfb168f2f
commit 25502f0687
13 changed files with 114 additions and 205 deletions

View File

@@ -22,14 +22,10 @@ var fs = require('fs'),
function getUserDataByUserSlug(userslug, callerUID, callback) {
user.getUidByUserslug(userslug, function(err, uid) {
if (err) {
if (err || !uid) {
return callback(err);
}
if (!uid) {
return callback(null, null);
}
async.parallel({
userData : function(next) {
user.getUserData(uid, next);
@@ -50,7 +46,7 @@ function getUserDataByUserSlug(userslug, callerUID, callback) {
groups.getUserGroups([uid], next);
}
}, function(err, results) {
if(err || !results.userData) {
if (err || !results.userData) {
return callback(err || new Error('[[error:invalid-uid]]'));
}
@@ -111,17 +107,13 @@ accountsController.getUserByUID = function(req, res, next) {
var uid = req.params.uid ? req.params.uid : 0;
async.parallel({
settings: async.apply(user.getSettings, uid),
userData: async.apply(user.getUserData, uid)
userData: async.apply(user.getUserData, uid),
settings: async.apply(user.getSettings, uid)
}, function(err, results) {
if (err) {
if (err || !results.userData) {
return next(err);
}
if (!results.userData) {
return helpers.notFound(req, res);
}
results.userData.email = results.settings.showemail ? results.userData.email : undefined;
results.userData.fullname = results.settings.showfullname ? results.userData.fullname : undefined;
@@ -141,14 +133,10 @@ accountsController.getAccount = function(req, res, next) {
}
getUserDataByUserSlug(req.params.userslug, req.uid, function (err, userData) {
if (err) {
if (err || !userData) {
return next(err);
}
if (!userData) {
return helpers.notFound(req, res);
}
if (req.uid !== parseInt(userData.uid, 10)) {
user.incrementUserFieldBy(userData.uid, 'profileviews', 1);
}
@@ -208,7 +196,7 @@ accountsController.getFollowers = function(req, res, next) {
getFollow('account/followers', 'followers', req, res, next);
};
function getFollow(tpl, name, req, res, next) {
function getFollow(tpl, name, req, res, callback) {
var userData;
async.waterfall([
@@ -218,14 +206,14 @@ function getFollow(tpl, name, req, res, next) {
function(data, next) {
userData = data;
if (!userData) {
return helpers.notFound(req, res);
return callback();
}
var method = name === 'following' ? 'getFollowing' : 'getFollowers';
user[method](userData.uid, 0, 49, next);
}
], function(err, users) {
if (err) {
return next(err);
return callback(err);
}
userData.users = users;
@@ -254,14 +242,10 @@ accountsController.getTopics = function(req, res, next) {
accountsController.getGroups = function(req, res, next) {
accountsController.getBaseUser(req.params.userslug, req.uid, function(err, userData) {
if (err) {
if (err || !userData) {
return next(err);
}
if (!userData) {
return helpers.notFound(req, res);
}
groups.getUserGroups([userData.uid], function(err, groupsData) {
if (err) {
return next(err);
@@ -284,13 +268,11 @@ function getFromUserSet(tpl, set, method, type, req, res, next) {
accountsController.getBaseUser(req.params.userslug, req.uid, next);
}
}, function(err, results) {
if (err) {
if (err || !results.userData) {
return next(err);
}
var userData = results.userData;
if (!userData) {
return helpers.notFound(req, res);
}
var setName = 'uid:' + userData.uid + ':' + set;
@@ -385,7 +367,7 @@ accountsController.accountEdit = function(req, res, next) {
});
};
accountsController.accountSettings = function(req, res, next) {
accountsController.accountSettings = function(req, res, callback) {
var userData;
async.waterfall([
function(next) {
@@ -394,7 +376,7 @@ accountsController.accountSettings = function(req, res, next) {
function(_userData, next) {
userData = _userData;
if (!userData) {
return helpers.notFound(req, res);
return callback();
}
async.parallel({
settings: function(next) {
@@ -421,7 +403,7 @@ accountsController.accountSettings = function(req, res, next) {
}
], function(err) {
if (err) {
return next(err);
return callback(err);
}
userData.dailyDigestFreqOptions = [
@@ -433,74 +415,23 @@ accountsController.accountSettings = function(req, res, next) {
userData.bootswatchSkinOptions = [
{
"name": "Default",
"value": "default"
},
{
"name": "Cerulean",
"value": "cerulean"
},
{
"name": "Cosmo",
"value": "cosmo"
},
{
"name": "Cyborg",
"value": "cyborg"
},
{
"name": "Darkly",
"value": "darkly"
},
{
"name": "Flatly",
"value": "flatly"
},
{
"name": "Journal",
"value": "journal"
},
{
"name": "Lumen",
"value": "lumen"
},
{
"name": "Paper",
"value": "paper"
},
{
"name": "Readable",
"value": "readable"
},
{
"name": "Sandstone",
"value": "sandstone"
},
{
"name": "Simplex",
"value": "simplex"
},
{
"name": "Slate",
"value": "slate"
},
{
"name": "Spacelab",
"value": "spacelab"
},
{
"name": "Superhero",
"value": "superhero"
},
{
"name": "United",
"value": "united"
},
{
"name": "Yeti",
"value": "yeti"
}
{ "name": "Default", "value": "default" },
{ "name": "Cerulean", "value": "cerulean" },
{ "name": "Cosmo", "value": "cosmo" },
{ "name": "Cyborg", "value": "cyborg" },
{ "name": "Darkly", "value": "darkly" },
{ "name": "Flatly", "value": "flatly" },
{ "name": "Journal", "value": "journal" },
{ "name": "Lumen", "value": "lumen" },
{ "name": "Paper", "value": "paper" },
{ "name": "Readable", "value": "readable" },
{ "name": "Sandstone", "value": "sandstone" },
{ "name": "Simplex", "value": "simplex" },
{ "name": "Slate", "value": "slate" },
{ "name": "Spacelab", "value": "spacelab" },
{ "name": "Superhero", "value": "superhero" },
{ "name": "United", "value": "united" },
{ "name": "Yeti", "value": "yeti" }
];
userData.bootswatchSkinOptions.forEach(function(skin) {
@@ -574,9 +505,9 @@ accountsController.getNotifications = function(req, res, next) {
});
};
accountsController.getChats = function(req, res, next) {
if (parseInt(meta.config.disableChat) === 1) {
return helpers.notFound(req, res);
accountsController.getChats = function(req, res, callback) {
if (parseInt(meta.config.disableChat, 10) === 1) {
return callback();
}
// In case a userNAME is passed in instead of a slug, the route should not 404
@@ -590,7 +521,7 @@ accountsController.getChats = function(req, res, next) {
recentChats: async.apply(messaging.getRecentChats, req.user.uid, 0, 19)
}, function(err, results) {
if (err) {
return next(err);
return callback(err);
}
//Remove entries if they were already present as a followed contact
@@ -618,7 +549,7 @@ accountsController.getChats = function(req, res, next) {
async.apply(user.getUidByUserslug, req.params.userslug),
function(toUid, next) {
if (!toUid || parseInt(toUid, 10) === parseInt(req.user.uid, 10)) {
return helpers.notFound(req, res);
return callback();
}
async.parallel({
@@ -634,7 +565,7 @@ accountsController.getChats = function(req, res, next) {
}
], function(err, data) {
if (err) {
return next(err);
return callback(err);
}
res.render('chats', {