From cc07b9ca3773573144263e4293f7a2ca7e3b9e5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=99=BA=E8=B6=85?= <1012112796@qq.com> Date: Sat, 11 Apr 2020 12:44:50 +0800 Subject: [PATCH] Fix CreateComment for SQLite and JS click event on Request Review (#11040) * fix some bug about Request review * fix ``CreateComment`` wrong using ,it will not work when use Sqlite * fix wrong js click event code , it will send wrong data when it has many choices Signed-off-by: a1012112796 <1012112796@qq.com> * Apply suggestions from code review Co-Authored-By: Lauris BH * add getReviewerByIssueIDAndUserID fix wrong conditions check in initIssueComments after #10972 * call CI again Co-authored-by: Lauris BH Co-authored-by: techknowlogick Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com> --- models/review.go | 10 +++++++--- web_src/js/index.js | 18 +++++++++++------- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/models/review.go b/models/review.go index 3f7223154e..d6bb77925e 100644 --- a/models/review.go +++ b/models/review.go @@ -395,9 +395,13 @@ func GetReviewersByIssueID(issueID int64) (reviews []*Review, err error) { // GetReviewerByIssueIDAndUserID get the latest review of reviewer for a pull request func GetReviewerByIssueIDAndUserID(issueID, userID int64) (review *Review, err error) { + return getReviewerByIssueIDAndUserID(x, issueID, userID) +} + +func getReviewerByIssueIDAndUserID(e Engine, issueID, userID int64) (review *Review, err error) { review = new(Review) - if _, err := x.SQL("SELECT * FROM review WHERE id IN (SELECT max(id) as id FROM review WHERE issue_id = ? AND reviewer_id = ? AND type in (?, ?, ?))", + if _, err := e.SQL("SELECT * FROM review WHERE id IN (SELECT max(id) as id FROM review WHERE issue_id = ? AND reviewer_id = ? AND type in (?, ?, ?))", issueID, userID, ReviewTypeApprove, ReviewTypeReject, ReviewTypeRequest). Get(review); err != nil { return nil, err @@ -559,7 +563,7 @@ func RemoveRewiewRequest(issue *Issue, reviewer *User, doer *User) (comment *Com // recalculate which is the latest official review from that user var review *Review - review, err = GetReviewerByIssueIDAndUserID(issue.ID, reviewer.ID) + review, err = getReviewerByIssueIDAndUserID(sess, issue.ID, reviewer.ID) if err != nil { return nil, err } @@ -575,7 +579,7 @@ func RemoveRewiewRequest(issue *Issue, reviewer *User, doer *User) (comment *Com return nil, err } - comment, err = CreateComment(&CreateCommentOptions{ + comment, err = createComment(sess, &CreateCommentOptions{ Type: CommentTypeReviewRequest, Doer: doer, Repo: issue.Repo, diff --git a/web_src/js/index.js b/web_src/js/index.js index c56abdde88..6476b2cfbf 100644 --- a/web_src/js/index.js +++ b/web_src/js/index.js @@ -661,17 +661,21 @@ function initInstall() { } function initIssueComments() { - if ($('.repository.view.issue .comments').length === 0) return; + if ($('.repository.view.issue .timeline').length === 0) return; + + $('.re-request-review').on('click', function (event) { + const url = $(this).data('update-url'); + const issueId = $(this).data('issue-id'); + const id = $(this).data('id'); + const isChecked = $(this).data('is-checked'); - $('.re-request-review').click((event) => { - const $this = $('.re-request-review'); event.preventDefault(); updateIssuesMeta( - $this.data('update-url'), + url, '', - $this.data('issue-id'), - $this.data('id'), - $this.data('is-checked') + issueId, + id, + isChecked ).then(reload); });