mirror of
https://github.com/go-gitea/gitea
synced 2025-07-22 18:28:37 +00:00
Add team support for review request (#12039)
Add team support for review request Block #11355 Signed-off-by: a1012112796 <1012112796@qq.com> Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: Lauris BH <lauris@nix.lv> Co-authored-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
@@ -52,7 +52,7 @@ func ToggleAssignee(issue *models.Issue, doer *models.User, assigneeID int64) (r
|
||||
return
|
||||
}
|
||||
|
||||
// ReviewRequest add or remove a review for this PR, and make comment for it.
|
||||
// ReviewRequest add or remove a review request from a user for this PR, and make comment for it.
|
||||
func ReviewRequest(issue *models.Issue, doer *models.User, reviewer *models.User, isAdd bool) (err error) {
|
||||
var comment *models.Comment
|
||||
if isAdd {
|
||||
@@ -71,3 +71,40 @@ func ReviewRequest(issue *models.Issue, doer *models.User, reviewer *models.User
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// TeamReviewRequest add or remove a review request from a team for this PR, and make comment for it.
|
||||
func TeamReviewRequest(issue *models.Issue, doer *models.User, reviewer *models.Team, isAdd bool) (err error) {
|
||||
var comment *models.Comment
|
||||
if isAdd {
|
||||
comment, err = models.AddTeamReviewRequest(issue, reviewer, doer)
|
||||
} else {
|
||||
comment, err = models.RemoveTeamReviewRequest(issue, reviewer, doer)
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
if comment == nil || !isAdd {
|
||||
return
|
||||
}
|
||||
|
||||
// notify all user in this team
|
||||
if err = comment.LoadIssue(); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
if err = reviewer.GetMembers(&models.SearchMembersOptions{}); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
for _, member := range reviewer.Members {
|
||||
if member.ID == comment.Issue.PosterID {
|
||||
continue
|
||||
}
|
||||
comment.AssigneeID = member.ID
|
||||
notification.NotifyPullReviewRequest(doer, issue, member, isAdd, comment)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
@@ -68,14 +68,13 @@ func CreateCodeComment(doer *models.User, gitRepo *git.Repository, issue *models
|
||||
return nil, err
|
||||
}
|
||||
|
||||
review, err = models.CreateReview(models.CreateReviewOptions{
|
||||
if review, err = models.CreateReview(models.CreateReviewOptions{
|
||||
Type: models.ReviewTypePending,
|
||||
Reviewer: doer,
|
||||
Issue: issue,
|
||||
Official: false,
|
||||
CommitID: latestCommitID,
|
||||
})
|
||||
if err != nil {
|
||||
}); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user