Enable assignee e-mail notification (#2003)
* Enable assignee e-mail notification * Check assignee and doer to avoid self made comment notifications. * Assignee not always defined * New method to avoid error when assignee deleted * Assignee empty check
This commit is contained in:
		
					parent
					
						
							
								09cb999145
							
						
					
				
			
			
				commit
				
					
						f2afed3098
					
				
			
		
					 2 changed files with 23 additions and 5 deletions
				
			
		| 
						 | 
				
			
			@ -131,6 +131,22 @@ func (issue *Issue) loadPoster(e Engine) (err error) {
 | 
			
		|||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (issue *Issue) loadAssignee(e Engine) (err error) {
 | 
			
		||||
	if issue.Assignee == nil {
 | 
			
		||||
		issue.Assignee, err = getUserByID(e, issue.AssigneeID)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			issue.AssigneeID = -1
 | 
			
		||||
			issue.Assignee = NewGhostUser()
 | 
			
		||||
			if !IsErrUserNotExist(err) {
 | 
			
		||||
				return fmt.Errorf("getUserByID.(assignee) [%d]: %v", issue.AssigneeID, err)
 | 
			
		||||
			}
 | 
			
		||||
			err = nil
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (issue *Issue) loadAttributes(e Engine) (err error) {
 | 
			
		||||
	if err = issue.loadRepo(e); err != nil {
 | 
			
		||||
		return
 | 
			
		||||
| 
						 | 
				
			
			@ -151,11 +167,8 @@ func (issue *Issue) loadAttributes(e Engine) (err error) {
 | 
			
		|||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if issue.Assignee == nil && issue.AssigneeID > 0 {
 | 
			
		||||
		issue.Assignee, err = getUserByID(e, issue.AssigneeID)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return fmt.Errorf("getUserByID.(assignee) [%d]: %v", issue.AssigneeID, err)
 | 
			
		||||
		}
 | 
			
		||||
	if err = issue.loadAssignee(e); err != nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if issue.IsPull && issue.PullRequest == nil {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -42,6 +42,11 @@ func mailIssueCommentToParticipants(issue *Issue, doer *User, comment *Comment,
 | 
			
		|||
		participants = append(participants, issue.Poster)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Assignee must receive any communications
 | 
			
		||||
	if issue.Assignee != nil && issue.AssigneeID > 0 && issue.AssigneeID != doer.ID {
 | 
			
		||||
		participants = append(participants, issue.Assignee)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	tos := make([]string, 0, len(watchers)) // List of email addresses.
 | 
			
		||||
	names := make([]string, 0, len(watchers))
 | 
			
		||||
	for i := range watchers {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue