summaryrefslogtreecommitdiffstats
path: root/routers/repo/pull_review.go
diff options
context:
space:
mode:
author赵智超 <1012112796@qq.com>2020-04-18 21:50:25 +0800
committerGitHub <noreply@github.com>2020-04-18 10:50:25 -0300
commit1b86f174ce99b579df35c32e800551b1fd1df807 (patch)
treee057206a13cea7a0e2eb0219bb66d8d83a8781c9 /routers/repo/pull_review.go
parent38d5f88a8183147cc5ecc6ece58fc28836a4af8b (diff)
downloadgitea-1b86f174ce99b579df35c32e800551b1fd1df807.tar.gz
gitea-1b86f174ce99b579df35c32e800551b1fd1df807.zip
Add a way to mark Conversation (code comment) resolved (#11037)
* Add a way to mark Conversation (code comment) resolved mark Conversation is a way to mark a Conversation is stale or be solved. when it's marked as stale, will be hided like stale. all Pull Request writer , Offical Reviewers and poster can add or remove Conversation resolved mark. Signed-off-by: a1012112796 <1012112796@qq.com> * fix lint * Apply suggestions from code review * Add ResolveDoer * fix ui Co-Authored-By: Lauris BH <lauris@nix.lv> Co-Authored-By: 6543 <6543@obermui.de> * change IsResolved to an function Add permission check in UpdateResolveConversation * Apply suggestions from code review * change return error for permisson check * add default message for deleted user * get issue message from comment * add migration for ``ResolveDoerID`` column another change: * block mark pending review as resolved because it's not necessary Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com> * change button color * resolve button size * fix code style * remove unusefull code Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com> Co-authored-by: Lauris BH <lauris@nix.lv> Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com>
Diffstat (limited to 'routers/repo/pull_review.go')
-rw-r--r--routers/repo/pull_review.go47
1 files changed, 47 insertions, 0 deletions
diff --git a/routers/repo/pull_review.go b/routers/repo/pull_review.go
index 0f5375dc16..730074b7f3 100644
--- a/routers/repo/pull_review.go
+++ b/routers/repo/pull_review.go
@@ -61,6 +61,53 @@ func CreateCodeComment(ctx *context.Context, form auth.CodeCommentForm) {
ctx.Redirect(comment.HTMLURL())
}
+// UpdateResolveConversation add or remove an Conversation resolved mark
+func UpdateResolveConversation(ctx *context.Context) {
+ action := ctx.Query("action")
+ commentID := ctx.QueryInt64("comment_id")
+
+ comment, err := models.GetCommentByID(commentID)
+ if err != nil {
+ ctx.ServerError("GetIssueByID", err)
+ return
+ }
+
+ if err = comment.LoadIssue(); err != nil {
+ ctx.ServerError("comment.LoadIssue", err)
+ return
+ }
+
+ var permResult bool
+ if permResult, err = models.CanMarkConversation(comment.Issue, ctx.User); err != nil {
+ ctx.ServerError("CanMarkConversation", err)
+ return
+ }
+ if !permResult {
+ ctx.Error(403)
+ return
+ }
+
+ if !comment.Issue.IsPull {
+ ctx.Error(400)
+ return
+ }
+
+ if action == "Resolve" || action == "UnResolve" {
+ err = models.MarkConversation(comment, ctx.User, action == "Resolve")
+ if err != nil {
+ ctx.ServerError("MarkConversation", err)
+ return
+ }
+ } else {
+ ctx.Error(400)
+ return
+ }
+
+ ctx.JSON(200, map[string]interface{}{
+ "ok": true,
+ })
+}
+
// SubmitReview creates a review out of the existing pending review or creates a new one if no pending review exist
func SubmitReview(ctx *context.Context, form auth.SubmitReviewForm) {
issue := GetActionIssue(ctx)