Quellcode durchsuchen

Fix action avatar loading (#13909)

Fixes #13883

Co-authored-by: 6543 <6543@obermui.de>
tags/v1.15.0-dev
silverwind vor 3 Jahren
Ursprung
Commit
97ab820acc
Es ist kein Account mit der E-Mail-Adresse des Committers verbunden
3 geänderte Dateien mit 17 neuen und 9 gelöschten Zeilen
  1. 4
    3
      models/action.go
  2. 12
    5
      modules/templates/helper.go
  3. 1
    1
      templates/user/dashboard/feeds.tmpl

+ 4
- 3
models/action.go Datei anzeigen

@@ -77,7 +77,8 @@ func (a *Action) GetOpType() ActionType {
return a.OpType
}

func (a *Action) loadActUser() {
// LoadActUser loads a.ActUser
func (a *Action) LoadActUser() {
if a.ActUser != nil {
return
}
@@ -105,13 +106,13 @@ func (a *Action) loadRepo() {

// GetActFullName gets the action's user full name.
func (a *Action) GetActFullName() string {
a.loadActUser()
a.LoadActUser()
return a.ActUser.FullName
}

// GetActUserName gets the action's user name.
func (a *Action) GetActUserName() string {
a.loadActUser()
a.LoadActUser()
return a.ActUser.Name
}


+ 12
- 5
modules/templates/helper.go Datei anzeigen

@@ -338,11 +338,12 @@ func NewFuncMap() []template.FuncMap {
}
return false
},
"svg": SVG,
"avatar": Avatar,
"avatarHTML": AvatarHTML,
"avatarByEmail": AvatarByEmail,
"repoAvatar": RepoAvatar,
"svg": SVG,
"avatar": Avatar,
"avatarHTML": AvatarHTML,
"avatarByAction": AvatarByAction,
"avatarByEmail": AvatarByEmail,
"repoAvatar": RepoAvatar,
"SortArrow": func(normSort, revSort, urlSort string, isDefault bool) template.HTML {
// if needed
if len(normSort) == 0 || len(urlSort) == 0 {
@@ -559,6 +560,12 @@ func Avatar(user *models.User, others ...interface{}) template.HTML {
return template.HTML("")
}

// AvatarByAction renders user avatars from action. args: action, size (int), class (string)
func AvatarByAction(action *models.Action, others ...interface{}) template.HTML {
action.LoadActUser()
return Avatar(action.ActUser, others...)
}

// RepoAvatar renders repo avatars. args: repo, size(int), class (string)
func RepoAvatar(repo *models.Repository, others ...interface{}) template.HTML {
size, class := parseOthers(models.DefaultAvatarPixelSize, "ui avatar image", others...)

+ 1
- 1
templates/user/dashboard/feeds.tmpl Datei anzeigen

@@ -1,7 +1,7 @@
{{range .Feeds}}
<div class="news">
<div class="ui left">
{{avatar .ActUser}}
{{avatarByAction .}}
</div>
<div class="ui grid">
<div class="ui fourteen wide column">

Laden…
Abbrechen
Speichern