]> source.dussan.org Git - gitea.git/commitdiff
Fix avatar template error on repo collaborator page (#13924)
authorsilverwind <me@silverwind.io>
Thu, 10 Dec 2020 05:44:13 +0000 (06:44 +0100)
committerGitHub <noreply@github.com>
Thu, 10 Dec 2020 05:44:13 +0000 (00:44 -0500)
Fixes error `template: repo/settings/collaboration:16:16: executing
"repo/settings/collaboration" at <.>: wrong type for value; expected
*models.User; got *models.Collaborator` seen on repo collaborator page.

Co-authored-by: techknowlogick <techknowlogick@gitea.io>
modules/templates/helper.go

index a7063d7b8dc543f3456a1ba37b05e05217424075..15cbeb81513af2190a2b79e260cca0f2f412176e 100644 (file)
@@ -550,12 +550,20 @@ func SVG(icon string, others ...interface{}) template.HTML {
 }
 
 // Avatar renders user avatars. args: user, size (int), class (string)
-func Avatar(user *models.User, others ...interface{}) template.HTML {
+func Avatar(item interface{}, others ...interface{}) template.HTML {
        size, class := parseOthers(models.DefaultAvatarPixelSize, "ui avatar image", others...)
 
-       src := user.RealSizedAvatarLink(size * models.AvatarRenderedSizeFactor)
-       if src != "" {
-               return AvatarHTML(src, size, class, user.DisplayName())
+       if user, ok := item.(*models.User); ok {
+               src := user.RealSizedAvatarLink(size * models.AvatarRenderedSizeFactor)
+               if src != "" {
+                       return AvatarHTML(src, size, class, user.DisplayName())
+               }
+       }
+       if user, ok := item.(*models.Collaborator); ok {
+               src := user.RealSizedAvatarLink(size * models.AvatarRenderedSizeFactor)
+               if src != "" {
+                       return AvatarHTML(src, size, class, user.DisplayName())
+               }
        }
        return template.HTML("")
 }