From 6e4a8f1ab4af72b05188587d00ded3a1d6179251 Mon Sep 17 00:00:00 2001 From: shiziyuan9527 Date: Thu, 22 Oct 2020 17:21:52 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E8=AF=84=E5=AE=A1?= =?UTF-8?q?=E7=9A=84=E5=8F=91=E8=B5=B7=E4=BA=BA=E4=B8=8D=E8=83=BD=E5=85=B3?= =?UTF-8?q?=E8=81=94=E7=94=A8=E4=BE=8B=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../track/service/TestCaseReviewService.java | 11 +++++++++-- .../track/service/TestReviewTestCaseService.java | 9 +++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/backend/src/main/java/io/metersphere/track/service/TestCaseReviewService.java b/backend/src/main/java/io/metersphere/track/service/TestCaseReviewService.java index cb1e875d35..aba21779ec 100644 --- a/backend/src/main/java/io/metersphere/track/service/TestCaseReviewService.java +++ b/backend/src/main/java/io/metersphere/track/service/TestCaseReviewService.java @@ -360,9 +360,16 @@ public class TestCaseReviewService { public void testReviewRelevance(ReviewRelevanceRequest request) { String reviewId = request.getReviewId(); List userIds = getTestCaseReviewerIds(reviewId); + + String creator = ""; + TestCaseReview review = testCaseReviewMapper.selectByPrimaryKey(reviewId); + if (review != null) { + creator = review.getCreator(); + } + String currentId = SessionUtils.getUser().getId(); - if (!userIds.contains(currentId)) { - MSException.throwException("非用例评审人员,不能关联用例!"); + if (!userIds.contains(currentId) && !StringUtils.equals(creator, currentId)) { + MSException.throwException("没有权限,不能关联用例!"); } List testCaseIds = request.getTestCaseIds(); diff --git a/backend/src/main/java/io/metersphere/track/service/TestReviewTestCaseService.java b/backend/src/main/java/io/metersphere/track/service/TestReviewTestCaseService.java index ab6d852dfe..9ba0d15bab 100644 --- a/backend/src/main/java/io/metersphere/track/service/TestReviewTestCaseService.java +++ b/backend/src/main/java/io/metersphere/track/service/TestReviewTestCaseService.java @@ -87,8 +87,13 @@ public class TestReviewTestCaseService { private void checkReviewer(String reviewId) { List userIds = testCaseReviewService.getTestCaseReviewerIds(reviewId); String currentId = SessionUtils.getUser().getId(); - if (!userIds.contains(currentId)) { - MSException.throwException("非用例评审人员,不能解除用例关联!"); + TestCaseReview caseReview = testCaseReviewMapper.selectByPrimaryKey(reviewId); + String creator = ""; + if (caseReview != null) { + creator = caseReview.getCreator(); + } + if (!userIds.contains(currentId) && !StringUtils.equals(creator, currentId)) { + MSException.throwException("没有权限,不能解除用例关联!"); } }