]> source.dussan.org Git - gitea.git/commitdiff
Update dashboard context for PR reviews (#8995)
authorJohn Olheiser <42128690+jolheiser@users.noreply.github.com>
Thu, 14 Nov 2019 23:52:18 +0000 (17:52 -0600)
committerAntoine GIRARD <sapk@users.noreply.github.com>
Thu, 14 Nov 2019 23:52:18 +0000 (00:52 +0100)
* 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>
models/action.go
modules/notification/action/action.go
modules/templates/helper.go
options/locale/locale_en-US.ini
templates/user/dashboard/feeds.tmpl

index ddb82e0f4c86bee0c371809b64942983347a4a0c..3cd97eff09c14663a1bc6e1b6121981378af4e45 100644 (file)
@@ -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
index 36035b864fecf6565182587b8c3213d9ea3a2608..d4be1e43041b1cfa065a8a5718f022aac026cf1b 100644 (file)
@@ -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 {
index 1347835b808ac2451119dd12b34186b12929f9b7..6aa429ee142c40bf598935a68b9a966b0eab9862 100644 (file)
@@ -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"
        }
index e3e0dba9fecda319b1225c785ce82141e40f717d..883b9222f5385fc585e2e1da950a919b8cc67f62 100644 (file)
@@ -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
index 9c404c9fde26ee64ed2061376bce2bf2a8438fea..48cdb49c15de321d0fbb241c1631024c2db8e4d9 100644 (file)
                                                        {{$.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}}