From 26e6fd9b5354ec94eae3356d86e0e404886593d8 Mon Sep 17 00:00:00 2001 From: CyberShell Date: Fri, 4 Nov 2022 02:42:24 +0000 Subject: [PATCH] Add check in logic for user when loading non-published post Alternative to error page before: `Cannot read properties of undefined (reading '_id')` during checking `!res.locals.post.author._id.equals(req.user._id)` in line 268. --- app/controllers/post.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/controllers/post.js b/app/controllers/post.js index e5090d1..9fd9f2e 100644 --- a/app/controllers/post.js +++ b/app/controllers/post.js @@ -260,7 +260,8 @@ class PostController extends SiteController { async getView (req, res, next) { const { comment: commentService, resource: resourceService } = this.dtp.services; try { - if ((res.locals.post.status !== 'published') && + if ((res.locals.post.status !== 'published') && + req.user && !res.locals.post.author._id.equals(req.user._id) && !req.user.hasAuthorDashboard) { throw new SiteError(403, 'The post is not published');