Skip to content

Commit 2a18479

Browse files
GiteaBotlng2020
andauthored
Fix wrong review requested number (#26784) (#26880)
Backport #26784 by @lng2020 Fix the wrong review requested number mentioned by #18808 . Fix #18808 Before: ![ksnip_20230829-140750](https://github.com/go-gitea/gitea/assets/70063547/0af2055b-6f16-4699-a944-c7186831d7f9) After: ![ksnip_20230829-141817](https://github.com/go-gitea/gitea/assets/70063547/16633264-20ba-45e3-bfbb-a495ed76a45b) Co-authored-by: Nanguan Lin <70063547+lng2020@users.noreply.github.com>
1 parent 2cfabb6 commit 2a18479

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

models/issues/issue_search.go

+15-6
Original file line numberDiff line numberDiff line change
@@ -345,12 +345,21 @@ func applyMentionedCondition(sess *xorm.Session, mentionedID int64) *xorm.Sessio
345345
}
346346

347347
func applyReviewRequestedCondition(sess *xorm.Session, reviewRequestedID int64) *xorm.Session {
348-
return sess.Join("INNER", []string{"review", "r"}, "issue.id = r.issue_id").
349-
And("issue.poster_id <> ?", reviewRequestedID).
350-
And("r.type = ?", ReviewTypeRequest).
351-
And("r.reviewer_id = ? and r.id in (select max(id) from review where issue_id = r.issue_id and reviewer_id = r.reviewer_id and type in (?, ?, ?))"+
352-
" or r.reviewer_team_id in (select team_id from team_user where uid = ?)",
353-
reviewRequestedID, ReviewTypeApprove, ReviewTypeReject, ReviewTypeRequest, reviewRequestedID)
348+
existInTeamQuery := builder.Select("team_user.team_id").
349+
From("team_user").
350+
Where(builder.Eq{"team_user.uid": reviewRequestedID})
351+
352+
subQuery := builder.Select("review.issue_id").
353+
From("review").
354+
Where(builder.And(
355+
builder.In("review.type", []ReviewType{ReviewTypeRequest, ReviewTypeReject, ReviewTypeApprove}),
356+
builder.Or(
357+
builder.Eq{"review.reviewer_id": reviewRequestedID},
358+
builder.In("review.reviewer_team_id", existInTeamQuery),
359+
),
360+
))
361+
return sess.Where("issue.poster_id <> ?", reviewRequestedID).
362+
And(builder.In("issue.id", subQuery))
354363
}
355364

356365
func applyReviewedCondition(sess *xorm.Session, reviewedID int64) *xorm.Session {

0 commit comments

Comments
 (0)