check if topic is deleted

v1.18.x
barisusakli 10 years ago
parent c458a7f7b2
commit c1b61522f7

@ -35,7 +35,7 @@ topicsController.get = function(req, res, next) {
user.getSettings(uid, next); user.getSettings(uid, next);
}, },
topic: function(next) { topic: function(next) {
topics.getTopicFields(tid, ['slug', 'postcount'], next); topics.getTopicFields(tid, ['slug', 'postcount', 'deleted'], next);
} }
}, next); }, next);
}, },
@ -54,6 +54,10 @@ topicsController.get = function(req, res, next) {
return helpers.notAllowed(req, res); return helpers.notAllowed(req, res);
} }
if (parseInt(results.topic.deleted, 10) && !userPrivileges.view_deleted) {
return helpers.notAllowed(req, res);
}
var settings = results.settings; var settings = results.settings;
var postCount = parseInt(results.topic.postcount, 10); var postCount = parseInt(results.topic.postcount, 10);
var pageCount = Math.ceil((postCount - 1) / settings.postsPerPage); var pageCount = Math.ceil((postCount - 1) / settings.postsPerPage);
@ -112,12 +116,10 @@ topicsController.get = function(req, res, next) {
if (err && err.message === '[[error:no-topic]]' && !topicData) { if (err && err.message === '[[error:no-topic]]' && !topicData) {
return helpers.notFound(res); return helpers.notFound(res);
} }
if (err && !topicData) { if (err && !topicData) {
return next(err); return next(err);
} }
if (topicData.deleted && !userPrivileges.view_deleted) {
return helpers.notAllowed(req, res);
}
topicData.pageCount = pageCount; topicData.pageCount = pageCount;

Loading…
Cancel
Save