8
8
9
9
issues_model "code.gitea.io/gitea/models/issues"
10
10
"code.gitea.io/gitea/models/organization"
11
+ org_model "code.gitea.io/gitea/models/organization"
11
12
"code.gitea.io/gitea/models/perm"
12
13
access_model "code.gitea.io/gitea/models/perm/access"
13
14
repo_model "code.gitea.io/gitea/models/repo"
@@ -61,29 +62,49 @@ func ToggleAssigneeWithNotify(ctx context.Context, issue *issues_model.Issue, do
61
62
}
62
63
63
64
// ReviewRequest add or remove a review request from a user for this PR, and make comment for it.
64
- func ReviewRequest (ctx context.Context , issue * issues_model.Issue , doer * user_model.User , permDoer * access_model.Permission , reviewer * user_model.User , isAdd bool ) (comment * issues_model.Comment , err error ) {
65
- err = isValidReviewRequest (ctx , reviewer , doer , isAdd , issue , permDoer )
65
+ func ReviewRequest (ctx context.Context , pr * issues_model.PullRequest , doer * user_model.User , permDoer * access_model.Permission , reviewer * user_model.User , isAdd bool ) (comment * issues_model.Comment , err error ) {
66
+ err = isValidReviewRequest (ctx , reviewer , doer , isAdd , pr . Issue , permDoer )
66
67
if err != nil {
67
68
return nil , err
68
69
}
69
70
70
71
if isAdd {
71
- comment , err = issues_model .AddReviewRequest (ctx , issue , reviewer , doer )
72
+ comment , err = issues_model .AddReviewRequest (ctx , pr . Issue , reviewer , doer )
72
73
} else {
73
- comment , err = issues_model .RemoveReviewRequest (ctx , issue , reviewer , doer )
74
+ comment , err = issues_model .RemoveReviewRequest (ctx , pr . Issue , reviewer , doer )
74
75
}
75
76
76
77
if err != nil {
77
78
return nil , err
78
79
}
79
80
80
81
if comment != nil {
81
- notify_service .PullRequestReviewRequest (ctx , doer , issue , reviewer , isAdd , comment )
82
+ notify_service .PullRequestReviewRequest (ctx , doer , pr . Issue , reviewer , isAdd , comment )
82
83
}
83
84
84
85
return comment , err
85
86
}
86
87
88
+ func ReviewRequests (ctx context.Context , pr * issues_model.PullRequest , doer * user_model.User , reviewers []* user_model.User , reviewTeams []* org_model.Team ) (comments []* issues_model.Comment , err error ) {
89
+ for _ , reviewer := range reviewers {
90
+ comment , err := ReviewRequest (ctx , pr , doer , nil , reviewer , true )
91
+ if err != nil {
92
+ return nil , err
93
+ }
94
+ comments = append (comments , comment )
95
+ }
96
+
97
+ for _ , reviewTeam := range reviewTeams {
98
+ comment , err := TeamReviewRequest (ctx , pr , doer , reviewTeam , true )
99
+ if err != nil {
100
+ return nil , err
101
+ }
102
+ comments = append (comments , comment )
103
+ }
104
+
105
+ return comments , nil
106
+ }
107
+
87
108
// isValidReviewRequest Check permission for ReviewRequest
88
109
func isValidReviewRequest (ctx context.Context , reviewer , doer * user_model.User , isAdd bool , issue * issues_model.Issue , permDoer * access_model.Permission ) error {
89
110
if reviewer .IsOrganization () {
@@ -216,15 +237,15 @@ func isValidTeamReviewRequest(ctx context.Context, reviewer *organization.Team,
216
237
}
217
238
218
239
// TeamReviewRequest add or remove a review request from a team for this PR, and make comment for it.
219
- func TeamReviewRequest (ctx context.Context , issue * issues_model.Issue , doer * user_model.User , reviewer * organization.Team , isAdd bool ) (comment * issues_model.Comment , err error ) {
220
- err = isValidTeamReviewRequest (ctx , reviewer , doer , isAdd , issue )
240
+ func TeamReviewRequest (ctx context.Context , pr * issues_model.PullRequest , doer * user_model.User , reviewer * organization.Team , isAdd bool ) (comment * issues_model.Comment , err error ) {
241
+ err = isValidTeamReviewRequest (ctx , reviewer , doer , isAdd , pr . Issue )
221
242
if err != nil {
222
243
return nil , err
223
244
}
224
245
if isAdd {
225
- comment , err = issues_model .AddTeamReviewRequest (ctx , issue , reviewer , doer )
246
+ comment , err = issues_model .AddTeamReviewRequest (ctx , pr . Issue , reviewer , doer )
226
247
} else {
227
- comment , err = issues_model .RemoveTeamReviewRequest (ctx , issue , reviewer , doer )
248
+ comment , err = issues_model .RemoveTeamReviewRequest (ctx , pr . Issue , reviewer , doer )
228
249
}
229
250
230
251
if err != nil {
@@ -235,7 +256,7 @@ func TeamReviewRequest(ctx context.Context, issue *issues_model.Issue, doer *use
235
256
return nil , nil
236
257
}
237
258
238
- return comment , teamReviewRequestNotify (ctx , issue , doer , reviewer , isAdd , comment )
259
+ return comment , teamReviewRequestNotify (ctx , pr . Issue , doer , reviewer , isAdd , comment )
239
260
}
240
261
241
262
func ReviewRequestNotify (ctx context.Context , issue * issues_model.Issue , doer * user_model.User , reviewNotifiers []* ReviewRequestNotifier ) {
0 commit comments