mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +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 {
 | 
						switch opts.Type {
 | 
				
			||||||
	case CommentTypeCode:
 | 
						case CommentTypeCode:
 | 
				
			||||||
		if comment.ReviewID != 0 {
 | 
							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 comment.Review == nil {
 | 
				
			||||||
				if err := comment.loadReview(e); err != nil {
 | 
									if err := comment.loadReview(e); err != nil {
 | 
				
			||||||
					return err
 | 
										return err
 | 
				
			||||||
@@ -596,6 +600,12 @@ func sendCreateCommentAction(e *xorm.Session, opts *CreateCommentOptions, commen
 | 
				
			|||||||
		if err = opts.Issue.updateClosedNum(e); err != nil {
 | 
							if err = opts.Issue.updateClosedNum(e); err != nil {
 | 
				
			||||||
			return err
 | 
								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
 | 
						// update the issue's updated_unix column
 | 
				
			||||||
	if err = updateIssueCols(e, opts.Issue, "updated_unix"); err != nil {
 | 
						if err = updateIssueCols(e, opts.Issue, "updated_unix"); err != nil {
 | 
				
			||||||
@@ -756,6 +766,7 @@ type CreateCommentOptions struct {
 | 
				
			|||||||
	Repo   *Repository
 | 
						Repo   *Repository
 | 
				
			||||||
	Issue  *Issue
 | 
						Issue  *Issue
 | 
				
			||||||
	Label  *Label
 | 
						Label  *Label
 | 
				
			||||||
 | 
						Review *Review
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	DependentIssueID int64
 | 
						DependentIssueID int64
 | 
				
			||||||
	OldMilestoneID   int64
 | 
						OldMilestoneID   int64
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -135,6 +135,7 @@ func (r *Review) publish(e *xorm.Engine) error {
 | 
				
			|||||||
						Repo:    review.Issue.Repo,
 | 
											Repo:    review.Issue.Repo,
 | 
				
			||||||
						Type:    comm.Type,
 | 
											Type:    comm.Type,
 | 
				
			||||||
						Content: comm.Content,
 | 
											Content: comm.Content,
 | 
				
			||||||
 | 
											Review:  r,
 | 
				
			||||||
					}, comm); err != nil {
 | 
										}, comm); err != nil {
 | 
				
			||||||
						log.Warn("sendCreateCommentAction: %v", err)
 | 
											log.Warn("sendCreateCommentAction: %v", err)
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -174,6 +174,12 @@ func SubmitReview(ctx *context.Context, form auth.SubmitReviewForm) {
 | 
				
			|||||||
			return
 | 
								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{
 | 
						comm, err := models.CreateComment(&models.CreateCommentOptions{
 | 
				
			||||||
		Type:     models.CommentTypeReview,
 | 
							Type:     models.CommentTypeReview,
 | 
				
			||||||
		Doer:     ctx.User,
 | 
							Doer:     ctx.User,
 | 
				
			||||||
@@ -186,10 +192,6 @@ func SubmitReview(ctx *context.Context, form auth.SubmitReviewForm) {
 | 
				
			|||||||
		ctx.ServerError("CreateComment", err)
 | 
							ctx.ServerError("CreateComment", err)
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if err = review.Publish(); err != nil {
 | 
					 | 
				
			||||||
		ctx.ServerError("Publish", err)
 | 
					 | 
				
			||||||
		return
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	pr, err := issue.GetPullRequest()
 | 
						pr, err := issue.GetPullRequest()
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user