Skip to content

Commit f2c1fbe

Browse files
committed
add support for team reviews
1 parent 567bc6c commit f2c1fbe

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

models/issue.go

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1179,10 +1179,10 @@ func (opts *IssuesOptions) setupSession(sess *xorm.Session) {
11791179

11801180
if opts.ReviewRequestedID > 0 {
11811181
sess.Join("INNER", []string{"review", "r"}, "issue.id = r.issue_id").
1182-
And("r.reviewer_id = ?", opts.ReviewRequestedID).
11831182
And("r.type = ?", ReviewTypeRequest).
1184-
And("r.id in (select max(id) from review where issue_id = r.issue_id and reviewer_id = r.reviewer_id and type in (?, ?, ?))",
1185-
ReviewTypeApprove, ReviewTypeReject, ReviewTypeRequest)
1183+
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 (?, ?, ?))"+
1184+
" or r.reviewer_team_id in (select team_id from team_user where uid = ?)",
1185+
opts.ReviewRequestedID, ReviewTypeApprove, ReviewTypeReject, ReviewTypeRequest, opts.ReviewRequestedID)
11861186
}
11871187

11881188
if len(opts.MilestoneIDs) > 0 {
@@ -1484,10 +1484,10 @@ func getIssueStatsChunk(opts *IssueStatsOptions, issueIDs []int64) (*IssueStats,
14841484

14851485
if opts.ReviewRequestedID > 0 {
14861486
sess.Join("INNER", []string{"review", "r"}, "issue.id = r.issue_id").
1487-
And("r.reviewer_id = ?", opts.ReviewRequestedID).
14881487
And("r.type = ?", ReviewTypeRequest).
1489-
And("r.id in (select max(id) from review where issue_id = r.issue_id and reviewer_id = r.reviewer_id and type in (?, ?, ?))",
1490-
ReviewTypeApprove, ReviewTypeReject, ReviewTypeRequest)
1488+
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 (?, ?, ?))"+
1489+
" or r.reviewer_team_id in (select team_id from team_user where uid = ?)",
1490+
opts.ReviewRequestedID, ReviewTypeApprove, ReviewTypeReject, ReviewTypeRequest, opts.ReviewRequestedID)
14911491
}
14921492

14931493
switch opts.IsPull {
@@ -1608,20 +1608,20 @@ func GetUserIssueStats(opts UserIssueStatsOptions) (*IssueStats, error) {
16081608
case FilterModeReviewRequested:
16091609
stats.OpenCount, err = x.Where(cond).And("issue.is_closed = ?", false).
16101610
Join("INNER", []string{"review", "r"}, "issue.id = r.issue_id").
1611-
And("r.reviewer_id = ?", opts.UserID).
16121611
And("r.type = ?", ReviewTypeRequest).
1613-
And("r.id in (select max(id) from review where issue_id = r.issue_id and reviewer_id = r.reviewer_id and type in (?, ?, ?))",
1614-
ReviewTypeApprove, ReviewTypeReject, ReviewTypeRequest).
1612+
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 (?, ?, ?))"+
1613+
" or r.reviewer_team_id in (select team_id from team_user where uid = ?)",
1614+
opts.UserID, ReviewTypeApprove, ReviewTypeReject, ReviewTypeRequest, opts.UserID).
16151615
Count(new(Issue))
16161616
if err != nil {
16171617
return nil, err
16181618
}
16191619
stats.ClosedCount, err = x.Where(cond).And("issue.is_closed = ?", true).
16201620
Join("INNER", []string{"review", "r"}, "issue.id = r.issue_id").
1621-
And("r.reviewer_id = ?", opts.UserID).
16221621
And("r.type = ?", ReviewTypeRequest).
1623-
And("r.id in (select max(id) from review where issue_id = r.issue_id and reviewer_id = r.reviewer_id and type in (?, ?, ?))",
1624-
ReviewTypeApprove, ReviewTypeReject, ReviewTypeRequest).
1622+
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 (?, ?, ?))"+
1623+
" or r.reviewer_team_id in (select team_id from team_user where uid = ?)",
1624+
opts.UserID, ReviewTypeApprove, ReviewTypeReject, ReviewTypeRequest, opts.UserID).
16251625
Count(new(Issue))
16261626
if err != nil {
16271627
return nil, err
@@ -1661,10 +1661,10 @@ func GetUserIssueStats(opts UserIssueStatsOptions) (*IssueStats, error) {
16611661

16621662
stats.ReviewRequestedCount, err = x.Where(cond).
16631663
Join("INNER", []string{"review", "r"}, "issue.id = r.issue_id").
1664-
And("r.reviewer_id = ?", opts.UserID).
16651664
And("r.type = ?", ReviewTypeRequest).
1666-
And("r.id in (select max(id) from review where issue_id = r.issue_id and reviewer_id = r.reviewer_id and type in (?, ?, ?))",
1667-
ReviewTypeApprove, ReviewTypeReject, ReviewTypeRequest).
1665+
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 (?, ?, ?))"+
1666+
" or r.reviewer_team_id in (select team_id from team_user where uid = ?)",
1667+
opts.UserID, ReviewTypeApprove, ReviewTypeReject, ReviewTypeRequest, opts.UserID).
16681668
Count(new(Issue))
16691669
if err != nil {
16701670
return nil, err

0 commit comments

Comments
 (0)