From dd242ba68035e0c1740415f8ea91a90d27214e63 Mon Sep 17 00:00:00 2001 From: Tania Fecheta <tania.fecheta@thinslices.com> Date: Wed, 14 Nov 2018 10:36:30 +0200 Subject: [PATCH] fix(fragmentRecommendations): reviewers can add only one review on the current version --- .../src/routes/fragmentsRecommendations/post.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/packages/component-manuscript-manager/src/routes/fragmentsRecommendations/post.js b/packages/component-manuscript-manager/src/routes/fragmentsRecommendations/post.js index c0301c0d5..3ab4592d8 100644 --- a/packages/component-manuscript-manager/src/routes/fragmentsRecommendations/post.js +++ b/packages/component-manuscript-manager/src/routes/fragmentsRecommendations/post.js @@ -58,6 +58,8 @@ module.exports = models => async (req, res) => { }) } + const fragmentRecommendations = get(fragment, 'recommendations', []) + const authsome = authsomeHelper.getAuthsome(models) const target = { fragment, @@ -87,6 +89,17 @@ module.exports = models => async (req, res) => { .json({ error: 'Cannot write a review on an older version.' }) } + if ( + (recommendationType === recommendations.type.review || + recommendationType === recommendations.type.editor) && + last(collection.fragments) === fragmentId && + !isEmpty(fragmentRecommendations.filter(r => r.userId === req.user)) + ) { + return res + .status(400) + .json({ error: 'Cannot write another review on this version.' }) + } + if ( recommendation === recommendations.publish && recommendationType === recommendations.type.editor && -- GitLab