check post exists before delete restore

v1.18.x
barisusakli 10 years ago
parent f88d822fe2
commit b301daf126

@ -18,10 +18,16 @@ module.exports = function(Posts) {
function togglePostDelete(uid, pid, isDelete, callback) { function togglePostDelete(uid, pid, isDelete, callback) {
async.waterfall([ async.waterfall([
function(next) { function (next) {
Posts.exists(pid, next);
},
function (exists, next) {
if (!exists) {
return next(new Error('[[error:no-post]]'));
}
Posts.getPostField(pid, 'deleted', next); Posts.getPostField(pid, 'deleted', next);
}, },
function(deleted, next) { function (deleted, next) {
if (parseInt(deleted, 10) === 1 && isDelete) { if (parseInt(deleted, 10) === 1 && isDelete) {
return next(new Error('[[error:post-already-deleted]]')); return next(new Error('[[error:post-already-deleted]]'));
} else if(parseInt(deleted, 10) !== 1 && !isDelete) { } else if(parseInt(deleted, 10) !== 1 && !isDelete) {
@ -30,13 +36,13 @@ module.exports = function(Posts) {
privileges.posts.canEdit(pid, uid, next); privileges.posts.canEdit(pid, uid, next);
}, },
function(canEdit, next) { function (canEdit, next) {
if (!canEdit) { if (!canEdit) {
return next(new Error('[[error:no-privileges]]')); return next(new Error('[[error:no-privileges]]'));
} }
next(); next();
} }
], function(err) { ], function (err) {
if (err) { if (err) {
return callback(err); return callback(err);
} }

Loading…
Cancel
Save