mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 00:03:59 -04:00 
			
		
		
		
	#1830 new comment with status change overwrites issue content
This commit is contained in:
		
							parent
							
								
									db7ac8bc1d
								
							
						
					
					
						commit
						e0aab4a7f6
					
				| @ -233,7 +233,7 @@ func (i *Issue) changeStatus(e *xorm.Session, doer *User, isClosed bool) (err er | ||||
| 	} | ||||
| 	i.IsClosed = isClosed | ||||
| 
 | ||||
| 	if err = updateIssue(e, i); err != nil { | ||||
| 	if err = updateIssueCols(e, i, "is_closed"); err != nil { | ||||
| 		return err | ||||
| 	} else if err = updateIssueUsersByStatus(e, i.ID, isClosed); err != nil { | ||||
| 		return err | ||||
| @ -813,11 +813,18 @@ func GetRepoIssueStats(repoID, uid int64, filterMode int, isPull bool) (numOpen | ||||
| 	return numOpen, numClosed | ||||
| } | ||||
| 
 | ||||
| // updateIssue updates all fields of given issue. | ||||
| func updateIssue(e Engine, issue *Issue) error { | ||||
| 	_, err := e.Id(issue.ID).AllCols().Update(issue) | ||||
| 	return err | ||||
| } | ||||
| 
 | ||||
| // updateIssueCols update specific fields of given issue. | ||||
| func updateIssueCols(e Engine, issue *Issue, cols ...string) error { | ||||
| 	_, err := e.Id(issue.ID).Cols(cols...).Update(issue) | ||||
| 	return err | ||||
| } | ||||
| 
 | ||||
| // UpdateIssue updates information of issue. | ||||
| func UpdateIssue(issue *Issue) error { | ||||
| 	return updateIssue(x, issue) | ||||
|  | ||||
| @ -786,7 +786,7 @@ func NewComment(ctx *middleware.Context, form auth.CreateCommentForm) { | ||||
| 				if err = issue.ChangeStatus(ctx.User, form.Status == "close"); err != nil { | ||||
| 					log.Error(4, "ChangeStatus: %v", err) | ||||
| 				} else { | ||||
| 					log.Trace("Issue[%d] status changed: %v", issue.ID, !issue.IsClosed) | ||||
| 					log.Trace("Issue[%d] status changed to closed: %v", issue.ID, issue.IsClosed) | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| @ -829,8 +829,11 @@ func NewComment(ctx *middleware.Context, form auth.CreateCommentForm) { | ||||
| 
 | ||||
| 	// Mail watchers and mentions. | ||||
| 	if setting.Service.EnableNotifyMail { | ||||
| 		issue.Content = form.Content | ||||
| 		tos, err := mailer.SendIssueNotifyMail(ctx.User, ctx.Repo.Owner, ctx.Repo.Repository, issue) | ||||
| 		tos, err := mailer.SendIssueNotifyMail(ctx.User, ctx.Repo.Owner, ctx.Repo.Repository, &models.Issue{ | ||||
| 			Index:   issue.Index, | ||||
| 			Name:    issue.Name, | ||||
| 			Content: form.Content, | ||||
| 		}) | ||||
| 		if err != nil { | ||||
| 			ctx.Handle(500, "SendIssueNotifyMail", err) | ||||
| 			return | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user