summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Olheiser <42128690+jolheiser@users.noreply.github.com>2019-11-14 17:52:18 -0600
committerAntoine GIRARD <sapk@users.noreply.github.com>2019-11-15 00:52:18 +0100
commit06a8504c784fe404bcae92028515add816383729 (patch)
tree66bade651d9bc6f18165ef089f501139f4ecbd38
parentdd1beee2ef907527d0b046f78bab70b2bd868c55 (diff)
downloadgitea-06a8504c784fe404bcae92028515add816383729.tar.gz
gitea-06a8504c784fe404bcae92028515add816383729.zip
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>
-rw-r--r--models/action.go42
-rw-r--r--modules/notification/action/action.go18
-rw-r--r--modules/templates/helper.go4
-rw-r--r--options/locale/locale_en-US.ini4
-rw-r--r--templates/user/dashboard/feeds.tmpl8
5 files changed, 50 insertions, 26 deletions
diff --git a/models/action.go b/models/action.go
index ddb82e0f4c..3cd97eff09 100644
--- a/models/action.go
+++ b/models/action.go
@@ -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
diff --git a/modules/notification/action/action.go b/modules/notification/action/action.go
index 36035b864f..d4be1e4304 100644
--- a/modules/notification/action/action.go
+++ b/modules/notification/action/action.go
@@ -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 {
diff --git a/modules/templates/helper.go b/modules/templates/helper.go
index 1347835b80..6aa429ee14 100644
--- a/modules/templates/helper.go
+++ b/modules/templates/helper.go
@@ -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"
}
diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini
index e3e0dba9fe..883b9222f5 100644
--- a/options/locale/locale_en-US.ini
+++ b/options/locale/locale_en-US.ini
@@ -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
diff --git a/templates/user/dashboard/feeds.tmpl b/templates/user/dashboard/feeds.tmpl
index 9c404c9fde..48cdb49c15 100644
--- a/templates/user/dashboard/feeds.tmpl
+++ b/templates/user/dashboard/feeds.tmpl
@@ -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}}