diff options
author | 赵智超 <1012112796@qq.com> | 2020-04-18 21:50:25 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-18 10:50:25 -0300 |
commit | 1b86f174ce99b579df35c32e800551b1fd1df807 (patch) | |
tree | e057206a13cea7a0e2eb0219bb66d8d83a8781c9 /routers/repo/pull_review.go | |
parent | 38d5f88a8183147cc5ecc6ece58fc28836a4af8b (diff) | |
download | gitea-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.go | 47 |
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) |