|
@@ -5,6 +5,7 @@
|
|
|
package base
|
|
|
|
|
|
import (
|
|
|
+ "bytes"
|
|
|
"crypto/md5"
|
|
|
"encoding/hex"
|
|
|
"encoding/json"
|
|
@@ -253,16 +254,14 @@ func ActionIcon(opType int) string {
|
|
|
}
|
|
|
|
|
|
const (
|
|
|
- TPL_CREATE_REPO = `<a href="/user/%s">%s</a> created repository <a href="/%s/%s">%s</a>`
|
|
|
- TPL_COMMIT_REPO = `<a href="/user/%s">%s</a> pushed to <a href="/%s/%s/tree/%s">%s</a> at <a href="/%s/%s">%s/%s</a>
|
|
|
-<ul>
|
|
|
- <li><a href="/%s/%s/commit/%s">%s</a> %s</li>
|
|
|
-</ul>`
|
|
|
+ TPL_CREATE_REPO = `<a href="/user/%s">%s</a> created repository <a href="/%s/%s">%s</a>`
|
|
|
+ TPL_COMMIT_REPO = `<a href="/user/%s">%s</a> pushed to <a href="/%s/%s/tree/%s">%s</a> at <a href="/%s/%s">%s/%s</a>%s`
|
|
|
+ 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>`
|
|
|
)
|
|
|
|
|
|
// ActionDesc accepts int that represents action operation type
|
|
|
// and returns the description.
|
|
|
-func ActionDesc(act Actioner) string {
|
|
|
+func ActionDesc(act Actioner, avatarLink string) string {
|
|
|
actUserName := act.GetActUserName()
|
|
|
repoName := act.GetRepoName()
|
|
|
content := act.GetContent()
|
|
@@ -274,8 +273,12 @@ func ActionDesc(act Actioner) string {
|
|
|
if err := json.Unmarshal([]byte(content), &commits); err != nil {
|
|
|
return err.Error()
|
|
|
}
|
|
|
+ buf := bytes.NewBuffer([]byte("\n"))
|
|
|
+ for _, commit := range commits {
|
|
|
+ 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,
|
|
|
- actUserName, repoName, commits[0][0], commits[0][0][:7], commits[0][1])
|
|
|
+ buf.String())
|
|
|
default:
|
|
|
return "invalid type"
|
|
|
}
|