88
99 issues_model "code.gitea.io/gitea/models/issues"
1010 "code.gitea.io/gitea/models/organization"
11+ org_model "code.gitea.io/gitea/models/organization"
1112 "code.gitea.io/gitea/models/perm"
1213 access_model "code.gitea.io/gitea/models/perm/access"
1314 repo_model "code.gitea.io/gitea/models/repo"
@@ -61,29 +62,49 @@ func ToggleAssigneeWithNotify(ctx context.Context, issue *issues_model.Issue, do
6162}
6263
6364// 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 )
6667 if err != nil {
6768 return nil , err
6869 }
6970
7071 if isAdd {
71- comment , err = issues_model .AddReviewRequest (ctx , issue , reviewer , doer )
72+ comment , err = issues_model .AddReviewRequest (ctx , pr . Issue , reviewer , doer )
7273 } else {
73- comment , err = issues_model .RemoveReviewRequest (ctx , issue , reviewer , doer )
74+ comment , err = issues_model .RemoveReviewRequest (ctx , pr . Issue , reviewer , doer )
7475 }
7576
7677 if err != nil {
7778 return nil , err
7879 }
7980
8081 if comment != nil {
81- notify_service .PullRequestReviewRequest (ctx , doer , issue , reviewer , isAdd , comment )
82+ notify_service .PullRequestReviewRequest (ctx , doer , pr . Issue , reviewer , isAdd , comment )
8283 }
8384
8485 return comment , err
8586}
8687
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+
87108// isValidReviewRequest Check permission for ReviewRequest
88109func isValidReviewRequest (ctx context.Context , reviewer , doer * user_model.User , isAdd bool , issue * issues_model.Issue , permDoer * access_model.Permission ) error {
89110 if reviewer .IsOrganization () {
@@ -216,15 +237,15 @@ func isValidTeamReviewRequest(ctx context.Context, reviewer *organization.Team,
216237}
217238
218239// 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 )
221242 if err != nil {
222243 return nil , err
223244 }
224245 if isAdd {
225- comment , err = issues_model .AddTeamReviewRequest (ctx , issue , reviewer , doer )
246+ comment , err = issues_model .AddTeamReviewRequest (ctx , pr . Issue , reviewer , doer )
226247 } else {
227- comment , err = issues_model .RemoveTeamReviewRequest (ctx , issue , reviewer , doer )
248+ comment , err = issues_model .RemoveTeamReviewRequest (ctx , pr . Issue , reviewer , doer )
228249 }
229250
230251 if err != nil {
@@ -235,7 +256,7 @@ func TeamReviewRequest(ctx context.Context, issue *issues_model.Issue, doer *use
235256 return nil , nil
236257 }
237258
238- return comment , teamReviewRequestNotify (ctx , issue , doer , reviewer , isAdd , comment )
259+ return comment , teamReviewRequestNotify (ctx , pr . Issue , doer , reviewer , isAdd , comment )
239260}
240261
241262func ReviewRequestNotify (ctx context.Context , issue * issues_model.Issue , doer * user_model.User , reviewNotifiers []* ReviewRequestNotifier ) {
0 commit comments