Browse Source

Hotfix for review actions and notifications (#8965)

release/v1.10
guillep2k 3 years ago
committed by zeripath
parent
commit
023ae3c48c
  1. 21
      models/issue_comment.go
  2. 1
      models/review.go
  3. 10
      routers/repo/pull_review.go

21
models/issue_comment.go

@ -538,6 +538,10 @@ func sendCreateCommentAction(e *xorm.Session, opts *CreateCommentOptions, commen
switch opts.Type {
case CommentTypeCode:
if comment.ReviewID != 0 {
// Hotfix for 1.10.0 as the Review object has not yet been committed in the other session
if opts.Review != nil {
comment.Review = opts.Review
}
if comment.Review == nil {
if err := comment.loadReview(e); err != nil {
return err
@ -596,6 +600,12 @@ func sendCreateCommentAction(e *xorm.Session, opts *CreateCommentOptions, commen
if err = opts.Issue.updateClosedNum(e); err != nil {
return err
}
case CommentTypeReview:
// Hotfix for 1.10.0; make sure a dashboard entry is created
if opts.Content == "" {
return nil
}
act.OpType = ActionCommentIssue
}
// update the issue's updated_unix column
if err = updateIssueCols(e, opts.Issue, "updated_unix"); err != nil {
@ -751,11 +761,12 @@ func createIssueDependencyComment(e *xorm.Session, doer *User, issue *Issue, dep
// CreateCommentOptions defines options for creating comment
type CreateCommentOptions struct {
Type CommentType
Doer *User
Repo *Repository
Issue *Issue
Label *Label
Type CommentType
Doer *User
Repo *Repository
Issue *Issue
Label *Label
Review *Review
DependentIssueID int64
OldMilestoneID int64

1
models/review.go

@ -135,6 +135,7 @@ func (r *Review) publish(e *xorm.Engine) error {
Repo: review.Issue.Repo,
Type: comm.Type,
Content: comm.Content,
Review: r,
}, comm); err != nil {
log.Warn("sendCreateCommentAction: %v", err)
}

10
routers/repo/pull_review.go

@ -174,6 +174,12 @@ func SubmitReview(ctx *context.Context, form auth.SubmitReviewForm) {
return
}
}
// Hotfix 1.10.0: make sure the review exists before creating the head comment
if err = review.Publish(); err != nil {
ctx.ServerError("Publish", err)
return
}
comm, err := models.CreateComment(&models.CreateCommentOptions{
Type: models.CommentTypeReview,
Doer: ctx.User,
@ -186,10 +192,6 @@ func SubmitReview(ctx *context.Context, form auth.SubmitReviewForm) {
ctx.ServerError("CreateComment", err)
return
}
if err = review.Publish(); err != nil {
ctx.ServerError("Publish", err)
return
}
pr, err := issue.GetPullRequest()
if err != nil {

Loading…
Cancel
Save