mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-05-19 16:30:15 +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:
parent
b546eda7a8
commit
8be3e439c2
17 changed files with 956 additions and 293 deletions
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue