mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-04 05:18:25 +00:00 
			
		
		
		
	Load reviewer for comments when dismissing a review (#24281)
If a comment dismisses a review, we need to load the reviewer to show
whose review has been dismissed.
Related to:
20b6ae0e53/templates/repo/issue/view_content/comments.tmpl (L765-L770)
We don't need `.Review.Reviewer` for all comments, because
"dismissing" doesn't happen often, or we would have already received
error reports.
			
			
This commit is contained in:
		@@ -56,7 +56,7 @@ func (comments CommentList) getLabelIDs() []int64 {
 | 
				
			|||||||
	return ids.Values()
 | 
						return ids.Values()
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (comments CommentList) loadLabels(ctx context.Context) error { //nolint
 | 
					func (comments CommentList) loadLabels(ctx context.Context) error {
 | 
				
			||||||
	if len(comments) == 0 {
 | 
						if len(comments) == 0 {
 | 
				
			||||||
		return nil
 | 
							return nil
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -415,7 +415,7 @@ func (comments CommentList) getReviewIDs() []int64 {
 | 
				
			|||||||
	return ids.Values()
 | 
						return ids.Values()
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (comments CommentList) loadReviews(ctx context.Context) error { //nolint
 | 
					func (comments CommentList) loadReviews(ctx context.Context) error {
 | 
				
			||||||
	if len(comments) == 0 {
 | 
						if len(comments) == 0 {
 | 
				
			||||||
		return nil
 | 
							return nil
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -453,6 +453,14 @@ func (comments CommentList) loadReviews(ctx context.Context) error { //nolint
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	for _, comment := range comments {
 | 
						for _, comment := range comments {
 | 
				
			||||||
		comment.Review = reviews[comment.ReviewID]
 | 
							comment.Review = reviews[comment.ReviewID]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							// If the comment dismisses a review, we need to load the reviewer to show whose review has been dismissed.
 | 
				
			||||||
 | 
							// Otherwise, the reviewer is the poster of the comment, so we don't need to load it.
 | 
				
			||||||
 | 
							if comment.Type == CommentTypeDismissReview {
 | 
				
			||||||
 | 
								if err := comment.Review.LoadReviewer(ctx); err != nil {
 | 
				
			||||||
 | 
									return err
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user