mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	Hotfix for review actions and notifications (#8965)
This commit is contained in:
		@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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)
 | 
			
		||||
					}
 | 
			
		||||
 
 | 
			
		||||
@@ -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 {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user