summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
author赵智超 <1012112796@qq.com>2020-04-07 00:33:34 +0800
committerGitHub <noreply@github.com>2020-04-06 19:33:34 +0300
commitef89e75d0eb232e98ca7a7ef278b8681c7f4fe50 (patch)
treec7b17df4d92441f2ce8420dbf8aa79aee47a3c13 /services
parent88c14326b1a5d9216d5f6905dcbe44e43efdb5b3 (diff)
downloadgitea-ef89e75d0eb232e98ca7a7ef278b8681c7f4fe50.tar.gz
gitea-ef89e75d0eb232e98ca7a7ef278b8681c7f4fe50.zip
add request review from specific reviewers feature in pull request (#10756)
* add request review feature in pull request add a way to notify specific reviewers to review like github , by add or delet a special type review . The acton is is similar to Assign , so many code reuse the function and items of Assignee, but the meaning and result is different. The Permission style is is similar to github, that only writer can add a review request from Reviewers, but the poster can recall and remove a review request after a reviwer has revied even if he don't have Write Premission. only manager , the poster and reviewer of a request review can remove it. The reviewers can be requested to review contain all readers for private repo , for public, contain all writers and watchers. The offical Review Request will block merge if Reject can block it. an other change: add ui otify for Assignees. Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com> Co-authored-by: Lauris BH <lauris@nix.lv> Signed-off-by: a1012112796 <1012112796@qq.com> * new change * add placeholder string * do some changes follow #10238 to add review requests num on lists also change icon for review requests to eye Co-authored-by: Lauris BH <lauris@nix.lv>
Diffstat (limited to 'services')
-rw-r--r--services/issue/assignee.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/services/issue/assignee.go b/services/issue/assignee.go
index 281f824da7..9711de4c60 100644
--- a/services/issue/assignee.go
+++ b/services/issue/assignee.go
@@ -51,3 +51,23 @@ 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.
+func ReviewRequest(issue *models.Issue, doer *models.User, reviewer *models.User, isAdd bool) (err error) {
+ var comment *models.Comment
+ if isAdd {
+ comment, err = models.AddRewiewRequest(issue, reviewer, doer)
+ } else {
+ comment, err = models.RemoveRewiewRequest(issue, reviewer, doer)
+ }
+
+ if err != nil {
+ return
+ }
+
+ if comment != nil {
+ notification.NotifyPullRewiewRequest(doer, issue, reviewer, isAdd, comment)
+ }
+
+ return nil
+}