summaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorUnknown <joe2010xtmf@163.com>2014-03-23 06:27:01 -0400
committerUnknown <joe2010xtmf@163.com>2014-03-23 06:27:01 -0400
commit1eb078d0a8c5424de9512d810ab2fbf21f59ff78 (patch)
treede429367cb1efd971d6d6723882dc793fe05a733 /modules
parent24630e0c9b92bcd9fdeb07ce15c3dd2cfc459a52 (diff)
downloadgitea-1eb078d0a8c5424de9512d810ab2fbf21f59ff78.tar.gz
gitea-1eb078d0a8c5424de9512d810ab2fbf21f59ff78.zip
Fix action
Diffstat (limited to 'modules')
-rw-r--r--modules/base/tool.go23
1 files changed, 19 insertions, 4 deletions
diff --git a/modules/base/tool.go b/modules/base/tool.go
index c7ee2ee857..edf7a953c9 100644
--- a/modules/base/tool.go
+++ b/modules/base/tool.go
@@ -471,6 +471,7 @@ type Actioner interface {
GetOpType() int
GetActUserName() string
GetRepoName() string
+ GetBranch() string
GetContent() string
}
@@ -493,25 +494,39 @@ const (
TPL_COMMIT_REPO_LI = `<div><img id="gogs-user-avatar-commit" src="%s?s=16" alt="user-avatar" title="username"/> <a href="/%s/%s/commit/%s">%s</a> %s</div>`
)
+type PushCommits struct {
+ Len int
+ Commits [][]string
+}
+
// ActionDesc accepts int that represents action operation type
// and returns the description.
func ActionDesc(act Actioner, avatarLink string) string {
actUserName := act.GetActUserName()
repoName := act.GetRepoName()
+ branch := act.GetBranch()
content := act.GetContent()
switch act.GetOpType() {
case 1: // Create repository.
return fmt.Sprintf(TPL_CREATE_REPO, actUserName, actUserName, actUserName, repoName, repoName)
case 5: // Commit repository.
- var commits [][]string
- if err := json.Unmarshal([]byte(content), &commits); err != nil {
+ var push *PushCommits
+ if err := json.Unmarshal([]byte(content), &push); err != nil {
return err.Error()
}
buf := bytes.NewBuffer([]byte("\n"))
- for _, commit := range commits {
+ max := 3
+ count := len(push.Commits)
+ if count < max {
+ max = count
+ }
+ for _, commit := range push.Commits[:max] {
buf.WriteString(fmt.Sprintf(TPL_COMMIT_REPO_LI, avatarLink, actUserName, repoName, commit[0], commit[0][:7], commit[1]) + "\n")
}
- return fmt.Sprintf(TPL_COMMIT_REPO, actUserName, actUserName, actUserName, repoName, "master", "master", actUserName, repoName, actUserName, repoName,
+ if count > max {
+ buf.WriteString(fmt.Sprintf(`<div><a href="/%s/%s/commits">%d other commits >></a></div>`, actUserName, repoName, count-max))
+ }
+ return fmt.Sprintf(TPL_COMMIT_REPO, actUserName, actUserName, actUserName, repoName, branch, branch, actUserName, repoName, actUserName, repoName,
buf.String())
default:
return "invalid type"