Skip to content

Commit f1fe102

Browse files
authored
Fix wrong review requested number (#26784)
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)
1 parent c802c46 commit f1fe102

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

models/issues/issue_search.go

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -358,12 +358,21 @@ func applyMentionedCondition(sess *xorm.Session, mentionedID int64) *xorm.Sessio
358358
}
359359

360360
func applyReviewRequestedCondition(sess *xorm.Session, reviewRequestedID int64) *xorm.Session {
361-
return sess.Join("INNER", []string{"review", "r"}, "issue.id = r.issue_id").
362-
And("issue.poster_id <> ?", reviewRequestedID).
363-
And("r.type = ?", ReviewTypeRequest).
364-
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 (?, ?, ?))"+
365-
" or r.reviewer_team_id in (select team_id from team_user where uid = ?)",
366-
reviewRequestedID, ReviewTypeApprove, ReviewTypeReject, ReviewTypeRequest, reviewRequestedID)
361+
existInTeamQuery := builder.Select("team_user.team_id").
362+
From("team_user").
363+
Where(builder.Eq{"team_user.uid": reviewRequestedID})
364+
365+
subQuery := builder.Select("review.issue_id").
366+
From("review").
367+
Where(builder.And(
368+
builder.In("review.type", []ReviewType{ReviewTypeRequest, ReviewTypeReject, ReviewTypeApprove}),
369+
builder.Or(
370+
builder.Eq{"review.reviewer_id": reviewRequestedID},
371+
builder.In("review.reviewer_team_id", existInTeamQuery),
372+
),
373+
))
374+
return sess.Where("issue.poster_id <> ?", reviewRequestedID).
375+
And(builder.In("issue.id", subQuery))
367376
}
368377

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

0 commit comments

Comments
 (0)