change /user/uid to /uid/:uid

so it doesn't conflict with actual user routes
was causing incorrect redirects if a user had a numeric userslug
@julianlam
v1.18.x
barisusakli 9 years ago
parent 0287703047
commit 702597d759

@ -166,7 +166,7 @@ middleware.checkAccountPermissions = function(req, res, next) {
};
middleware.redirectUidToUserslug = function(req, res, next) {
var uid = parseInt(req.params.userslug, 10);
var uid = parseInt(req.params.uid, 10);
if (!uid) {
return next();
}
@ -175,7 +175,9 @@ middleware.redirectUidToUserslug = function(req, res, next) {
return next(err);
}
var path = req.path.replace(/^\/api/, '').replace(uid, function() { return userslug; });
var path = req.path.replace(/^\/api/, '')
.replace('uid', 'user')
.replace(uid, function() { return userslug; });
controllers.helpers.redirect(res, path);
});
};

@ -4,8 +4,10 @@ var helpers = require('./helpers');
var setupPageRoute = helpers.setupPageRoute;
module.exports = function (app, middleware, controllers) {
var middlewares = [middleware.checkGlobalPrivacySettings, middleware.redirectUidToUserslug];
var accountMiddlewares = [middleware.checkGlobalPrivacySettings, middleware.checkAccountPermissions, middleware.redirectUidToUserslug];
var middlewares = [middleware.checkGlobalPrivacySettings];
var accountMiddlewares = [middleware.checkGlobalPrivacySettings, middleware.checkAccountPermissions];
setupPageRoute(app, '/uid/:uid/:section?', middleware, [], middleware.redirectUidToUserslug);
setupPageRoute(app, '/user/:userslug', middleware, middlewares, controllers.accounts.profile.get);
setupPageRoute(app, '/user/:userslug/following', middleware, middlewares, controllers.accounts.follow.getFollowing);

@ -155,7 +155,7 @@ SocketUser.follow = function(socket, data, callback) {
bodyShort: '[[notifications:user_started_following_you, ' + userData.username + ']]',
nid: 'follow:' + data.uid + ':uid:' + socket.uid,
from: socket.uid,
path: '/user/' + socket.uid,
path: '/uid/' + socket.uid,
mergeId: 'notifications:user_started_following_you'
}, next);
},

Loading…
Cancel
Save