Update dashboard context for PR reviews (#8995)
* Update dashboard context for PR reviews Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update options/locale/locale_en-US.ini Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com> * Only append head action if it has content or is approval/rejection Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update options/locale/locale_en-US.ini Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									dd1beee2ef
								
							
						
					
					
						commit
						06a8504c78
					
				
					 5 changed files with 50 additions and 26 deletions
				
			
		| 
						 | 
				
			
			@ -30,26 +30,28 @@ type ActionType int
 | 
			
		|||
 | 
			
		||||
// Possible action types.
 | 
			
		||||
const (
 | 
			
		||||
	ActionCreateRepo        ActionType = iota + 1 // 1
 | 
			
		||||
	ActionRenameRepo                              // 2
 | 
			
		||||
	ActionStarRepo                                // 3
 | 
			
		||||
	ActionWatchRepo                               // 4
 | 
			
		||||
	ActionCommitRepo                              // 5
 | 
			
		||||
	ActionCreateIssue                             // 6
 | 
			
		||||
	ActionCreatePullRequest                       // 7
 | 
			
		||||
	ActionTransferRepo                            // 8
 | 
			
		||||
	ActionPushTag                                 // 9
 | 
			
		||||
	ActionCommentIssue                            // 10
 | 
			
		||||
	ActionMergePullRequest                        // 11
 | 
			
		||||
	ActionCloseIssue                              // 12
 | 
			
		||||
	ActionReopenIssue                             // 13
 | 
			
		||||
	ActionClosePullRequest                        // 14
 | 
			
		||||
	ActionReopenPullRequest                       // 15
 | 
			
		||||
	ActionDeleteTag                               // 16
 | 
			
		||||
	ActionDeleteBranch                            // 17
 | 
			
		||||
	ActionMirrorSyncPush                          // 18
 | 
			
		||||
	ActionMirrorSyncCreate                        // 19
 | 
			
		||||
	ActionMirrorSyncDelete                        // 20
 | 
			
		||||
	ActionCreateRepo         ActionType = iota + 1 // 1
 | 
			
		||||
	ActionRenameRepo                               // 2
 | 
			
		||||
	ActionStarRepo                                 // 3
 | 
			
		||||
	ActionWatchRepo                                // 4
 | 
			
		||||
	ActionCommitRepo                               // 5
 | 
			
		||||
	ActionCreateIssue                              // 6
 | 
			
		||||
	ActionCreatePullRequest                        // 7
 | 
			
		||||
	ActionTransferRepo                             // 8
 | 
			
		||||
	ActionPushTag                                  // 9
 | 
			
		||||
	ActionCommentIssue                             // 10
 | 
			
		||||
	ActionMergePullRequest                         // 11
 | 
			
		||||
	ActionCloseIssue                               // 12
 | 
			
		||||
	ActionReopenIssue                              // 13
 | 
			
		||||
	ActionClosePullRequest                         // 14
 | 
			
		||||
	ActionReopenPullRequest                        // 15
 | 
			
		||||
	ActionDeleteTag                                // 16
 | 
			
		||||
	ActionDeleteBranch                             // 17
 | 
			
		||||
	ActionMirrorSyncPush                           // 18
 | 
			
		||||
	ActionMirrorSyncCreate                         // 19
 | 
			
		||||
	ActionMirrorSyncDelete                         // 20
 | 
			
		||||
	ActionApprovePullRequest                       // 21
 | 
			
		||||
	ActionRejectPullRequest                        // 22
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Action represents user operation type and other information to
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -148,18 +148,28 @@ func (a *actionNotifier) NotifyPullRequestReview(pr *models.PullRequest, review
 | 
			
		|||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if strings.TrimSpace(comment.Content) != "" {
 | 
			
		||||
		actions = append(actions, &models.Action{
 | 
			
		||||
	if review.Type != models.ReviewTypeComment || strings.TrimSpace(comment.Content) != "" {
 | 
			
		||||
		action := &models.Action{
 | 
			
		||||
			ActUserID: review.Reviewer.ID,
 | 
			
		||||
			ActUser:   review.Reviewer,
 | 
			
		||||
			Content:   fmt.Sprintf("%d|%s", review.Issue.Index, strings.Split(comment.Content, "\n")[0]),
 | 
			
		||||
			OpType:    models.ActionCommentIssue,
 | 
			
		||||
			RepoID:    review.Issue.RepoID,
 | 
			
		||||
			Repo:      review.Issue.Repo,
 | 
			
		||||
			IsPrivate: review.Issue.Repo.IsPrivate,
 | 
			
		||||
			Comment:   comment,
 | 
			
		||||
			CommentID: comment.ID,
 | 
			
		||||
		})
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		switch review.Type {
 | 
			
		||||
		case models.ReviewTypeApprove:
 | 
			
		||||
			action.OpType = models.ActionApprovePullRequest
 | 
			
		||||
		case models.ReviewTypeReject:
 | 
			
		||||
			action.OpType = models.ActionRejectPullRequest
 | 
			
		||||
		default:
 | 
			
		||||
			action.OpType = models.ActionCommentIssue
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		actions = append(actions, action)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err := models.NotifyWatchersActions(actions); err != nil {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -555,6 +555,10 @@ func ActionIcon(opType models.ActionType) string {
 | 
			
		|||
		return "issue-reopened"
 | 
			
		||||
	case models.ActionMirrorSyncPush, models.ActionMirrorSyncCreate, models.ActionMirrorSyncDelete:
 | 
			
		||||
		return "repo-clone"
 | 
			
		||||
	case models.ActionApprovePullRequest:
 | 
			
		||||
		return "eye"
 | 
			
		||||
	case models.ActionRejectPullRequest:
 | 
			
		||||
		return "x"
 | 
			
		||||
	default:
 | 
			
		||||
		return "invalid type"
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -582,7 +582,7 @@ email_notifications.submit = Set Email Preference
 | 
			
		|||
owner = Owner
 | 
			
		||||
repo_name = Repository Name
 | 
			
		||||
repo_name_helper = Good repository names use short, memorable and unique keywords.
 | 
			
		||||
repo_size = Repository Size 
 | 
			
		||||
repo_size = Repository Size
 | 
			
		||||
template = Template
 | 
			
		||||
template_select = Select a template.
 | 
			
		||||
template_helper = Make repository a template
 | 
			
		||||
| 
						 | 
				
			
			@ -2000,6 +2000,8 @@ compare_commits_general = Compare commits
 | 
			
		|||
mirror_sync_push = synced commits to <a href="%[1]s/src/%[2]s">%[3]s</a> at <a href="%[1]s">%[4]s</a> from mirror
 | 
			
		||||
mirror_sync_create = synced new reference <a href="%s/src/%s">%[2]s</a> to <a href="%[1]s">%[3]s</a> from mirror
 | 
			
		||||
mirror_sync_delete = synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
 | 
			
		||||
approve_pull_request = `approved <a href="%s/pulls/%s">%s#%[2]s</a>`
 | 
			
		||||
reject_pull_request = `suggested changes for <a href="%s/pulls/%s">%s#%[2]s</a>`
 | 
			
		||||
 | 
			
		||||
[tool]
 | 
			
		||||
ago = %s ago
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -61,6 +61,12 @@
 | 
			
		|||
							{{$.i18n.Tr "action.mirror_sync_create" .GetRepoLink .GetBranch .ShortRepoPath | Str2html}}
 | 
			
		||||
						{{else if eq .GetOpType 20}}
 | 
			
		||||
							{{$.i18n.Tr "action.mirror_sync_delete" .GetRepoLink .GetBranch .ShortRepoPath | Str2html}}
 | 
			
		||||
						{{else if eq .GetOpType 21}}
 | 
			
		||||
							{{ $index := index .GetIssueInfos 0}}
 | 
			
		||||
							{{$.i18n.Tr "action.approve_pull_request" .GetRepoLink $index .ShortRepoPath | Str2html}}
 | 
			
		||||
						{{else if eq .GetOpType 22}}
 | 
			
		||||
							{{ $index := index .GetIssueInfos 0}}
 | 
			
		||||
							{{$.i18n.Tr "action.reject_pull_request" .GetRepoLink $index .ShortRepoPath | Str2html}}
 | 
			
		||||
						{{end}}
 | 
			
		||||
					</p>
 | 
			
		||||
					{{if or (eq .GetOpType 5) (eq .GetOpType 18)}}
 | 
			
		||||
| 
						 | 
				
			
			@ -80,7 +86,7 @@
 | 
			
		|||
						<span class="text truncate issue title has-emoji">{{index .GetIssueInfos 1}}</span>
 | 
			
		||||
					{{else if eq .GetOpType 7}}
 | 
			
		||||
						<span class="text truncate issue title has-emoji">{{index .GetIssueInfos 1}}</span>
 | 
			
		||||
					{{else if eq .GetOpType 10}}
 | 
			
		||||
					{{else if or (eq .GetOpType 10) (eq .GetOpType 21) (eq .GetOpType 22)}}
 | 
			
		||||
						<a href="{{.GetCommentLink}}" class="text truncate issue title has-emoji">{{.GetIssueTitle}}</a>
 | 
			
		||||
						<p class="text light grey has-emoji">{{index .GetIssueInfos 1}}</p>
 | 
			
		||||
					{{else if eq .GetOpType 11}}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue