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>
(cherry picked from commit 2a184796b5
)
This commit is contained in:
parent
1689b3da55
commit
4df75c254f
1 changed files with 15 additions and 6 deletions
|
@ -345,12 +345,21 @@ func applyMentionedCondition(sess *xorm.Session, mentionedID int64) *xorm.Sessio
|
||||||
}
|
}
|
||||||
|
|
||||||
func applyReviewRequestedCondition(sess *xorm.Session, reviewRequestedID int64) *xorm.Session {
|
func applyReviewRequestedCondition(sess *xorm.Session, reviewRequestedID int64) *xorm.Session {
|
||||||
return sess.Join("INNER", []string{"review", "r"}, "issue.id = r.issue_id").
|
existInTeamQuery := builder.Select("team_user.team_id").
|
||||||
And("issue.poster_id <> ?", reviewRequestedID).
|
From("team_user").
|
||||||
And("r.type = ?", ReviewTypeRequest).
|
Where(builder.Eq{"team_user.uid": reviewRequestedID})
|
||||||
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 (?, ?, ?))"+
|
|
||||||
" or r.reviewer_team_id in (select team_id from team_user where uid = ?)",
|
subQuery := builder.Select("review.issue_id").
|
||||||
reviewRequestedID, ReviewTypeApprove, ReviewTypeReject, ReviewTypeRequest, reviewRequestedID)
|
From("review").
|
||||||
|
Where(builder.And(
|
||||||
|
builder.In("review.type", []ReviewType{ReviewTypeRequest, ReviewTypeReject, ReviewTypeApprove}),
|
||||||
|
builder.Or(
|
||||||
|
builder.Eq{"review.reviewer_id": reviewRequestedID},
|
||||||
|
builder.In("review.reviewer_team_id", existInTeamQuery),
|
||||||
|
),
|
||||||
|
))
|
||||||
|
return sess.Where("issue.poster_id <> ?", reviewRequestedID).
|
||||||
|
And(builder.In("issue.id", subQuery))
|
||||||
}
|
}
|
||||||
|
|
||||||
func applyReviewedCondition(sess *xorm.Session, reviewedID int64) *xorm.Session {
|
func applyReviewedCondition(sess *xorm.Session, reviewedID int64) *xorm.Session {
|
||||||
|
|
Loading…
Reference in a new issue