Browse Source

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 <lauris@nix.lv>

* add getReviewerByIssueIDAndUserID
fix wrong conditions check in initIssueComments after #10972

* call CI again

Co-authored-by: Lauris BH <lauris@nix.lv>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com>
for-closed-social
赵智超 4 years ago
committed by GitHub
parent
commit
cc07b9ca37
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 10 deletions
  1. +7
    -3
      models/review.go
  2. +11
    -7
      web_src/js/index.js

+ 7
- 3
models/review.go View File

@ -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,

+ 11
- 7
web_src/js/index.js View File

@ -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);
});

Loading…
Cancel
Save