diff options
author | Lauris BH <lauris@nix.lv> | 2020-02-09 22:18:01 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-09 22:18:01 +0200 |
commit | fe00886befebca6e532dfc49813c3273c4bfff68 (patch) | |
tree | f7549d49a131409e502e59bf4e522706f48b8f96 | |
parent | e273817154e98b7b675e43e97cd17f48a603cf9e (diff) | |
download | gitea-fe00886befebca6e532dfc49813c3273c4bfff68.tar.gz gitea-fe00886befebca6e532dfc49813c3273c4bfff68.zip |
Fix followers and following tabs in profile (#10202)
-rw-r--r-- | routers/routes/routes.go | 7 | ||||
-rw-r--r-- | routers/user/profile.go | 56 | ||||
-rw-r--r-- | templates/repo/user_cards.tmpl | 2 | ||||
-rw-r--r-- | templates/user/meta/followers.tmpl | 6 | ||||
-rw-r--r-- | templates/user/meta/header.tmpl | 24 | ||||
-rw-r--r-- | templates/user/profile.tmpl | 33 |
6 files changed, 41 insertions, 87 deletions
diff --git a/routers/routes/routes.go b/routers/routes/routes.go index a06eb46ad1..ff9e0da220 100644 --- a/routers/routes/routes.go +++ b/routers/routes/routes.go @@ -490,12 +490,7 @@ func RegisterRoutes(m *macaron.Macaron) { // ***** END: Admin ***** m.Group("", func() { - m.Group("/:username", func() { - m.Get("", user.Profile) - m.Get("/followers", user.Followers) - m.Get("/following", user.Following) - }) - + m.Get("/:username", user.Profile) m.Get("/attachments/:uuid", repo.GetAttachment) }, ignSignIn) diff --git a/routers/user/profile.go b/routers/user/profile.go index 808ce382c7..a151884d76 100644 --- a/routers/user/profile.go +++ b/routers/user/profile.go @@ -11,16 +11,10 @@ import ( "strings" "code.gitea.io/gitea/models" - "code.gitea.io/gitea/modules/base" "code.gitea.io/gitea/modules/context" "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/util" "code.gitea.io/gitea/routers/org" - "code.gitea.io/gitea/routers/repo" -) - -const ( - tplFollowers base.TplName = "user/meta/followers" ) // GetUserByName get user by name @@ -159,6 +153,30 @@ func Profile(ctx *context.Context) { keyword := strings.Trim(ctx.Query("q"), " ") ctx.Data["Keyword"] = keyword switch tab { + case "followers": + items, err := ctxUser.GetFollowers(models.ListOptions{ + PageSize: setting.UI.User.RepoPagingNum, + Page: page, + }) + if err != nil { + ctx.ServerError("GetFollowers", err) + return + } + ctx.Data["Cards"] = items + + total = ctxUser.NumFollowers + case "following": + items, err := ctxUser.GetFollowing(models.ListOptions{ + PageSize: setting.UI.User.RepoPagingNum, + Page: page, + }) + if err != nil { + ctx.ServerError("GetFollowing", err) + return + } + ctx.Data["Cards"] = items + + total = ctxUser.NumFollowing case "activity": retrieveFeeds(ctx, models.GetFeedsOptions{RequestedUser: ctxUser, Actor: ctx.User, @@ -226,32 +244,6 @@ func Profile(ctx *context.Context) { ctx.HTML(200, tplProfile) } -// Followers render user's followers page -func Followers(ctx *context.Context) { - u := GetUserByParams(ctx) - if ctx.Written() { - return - } - ctx.Data["Title"] = u.DisplayName() - ctx.Data["CardsTitle"] = ctx.Tr("user.followers") - ctx.Data["PageIsFollowers"] = true - ctx.Data["Owner"] = u - repo.RenderUserCards(ctx, u.NumFollowers, u.GetFollowers, tplFollowers) -} - -// Following render user's followering page -func Following(ctx *context.Context) { - u := GetUserByParams(ctx) - if ctx.Written() { - return - } - ctx.Data["Title"] = u.DisplayName() - ctx.Data["CardsTitle"] = ctx.Tr("user.following") - ctx.Data["PageIsFollowing"] = true - ctx.Data["Owner"] = u - repo.RenderUserCards(ctx, u.NumFollowing, u.GetFollowing, tplFollowers) -} - // Action response for follow/unfollow user request func Action(ctx *context.Context) { u := GetUserByParams(ctx) diff --git a/templates/repo/user_cards.tmpl b/templates/repo/user_cards.tmpl index 3677bab635..cd7f15a710 100644 --- a/templates/repo/user_cards.tmpl +++ b/templates/repo/user_cards.tmpl @@ -1,7 +1,9 @@ <div class="ui container user-cards"> + {{if .CardsTitle}} <h2 class="ui dividing header"> {{.CardsTitle}} </h2> + {{end}} <ul class="list"> {{range .Cards}} <li class="item ui segment"> diff --git a/templates/user/meta/followers.tmpl b/templates/user/meta/followers.tmpl deleted file mode 100644 index 40d7e95013..0000000000 --- a/templates/user/meta/followers.tmpl +++ /dev/null @@ -1,6 +0,0 @@ -{{template "base/head" .}} -<div class="user followers"> - {{template "user/meta/header" .}} - {{template "repo/user_cards" .}} -</div> -{{template "base/footer" .}} diff --git a/templates/user/meta/header.tmpl b/templates/user/meta/header.tmpl deleted file mode 100644 index 36072e8aa1..0000000000 --- a/templates/user/meta/header.tmpl +++ /dev/null @@ -1,24 +0,0 @@ -{{with .Owner}} -<div class="ui container"> - <img class="ui avatar image" src="{{.RelAvatarLink}}"> - <span class="header name"> - <a href="{{.HomeLink}}">{{.Name}}</a> - {{with .FullName}}({{.}}){{end}} - </span> - - <div class="ui right"> - {{if or $.PageIsFollowers $.PageIsFollowing}} - {{if and $.IsSigned (ne $.SignedUserName .Name)}} - <div class="follow"> - {{if $.SignedUser.IsFollowing .ID}} - <a class="ui small basic red button" href="{{.HomeLink}}/action/unfollow?redirect_to={{$.Link}}"><i class="octicon octicon-person"></i> {{$.i18n.Tr "user.unfollow"}}</a> - {{else}} - <a class="ui small basic green button" href="{{.HomeLink}}/action/follow?redirect_to={{$.Link}}"><i class="octicon octicon-person"></i> {{$.i18n.Tr "user.follow"}}</a> - {{end}} - </div> - {{end}} - {{end}} - </div> -</div> -{{end}} -<div class="ui divider"></div> diff --git a/templates/user/profile.tmpl b/templates/user/profile.tmpl index 52c6e3ec3f..101a2e7d45 100644 --- a/templates/user/profile.tmpl +++ b/templates/user/profile.tmpl @@ -49,24 +49,6 @@ {{end}} {{end}} <li><i class="octicon octicon-clock"></i> {{.i18n.Tr "user.join_on"}} {{.Owner.CreatedUnix.FormatShort}}</li> - <li> - <i class="octicon octicon-person"></i> - <a href="{{.Owner.HomeLink}}/followers"> - {{.Owner.NumFollowers}} {{.i18n.Tr "user.followers"}} - </a> - - - <a href="{{.Owner.HomeLink}}/following"> - {{.Owner.NumFollowing}} {{.i18n.Tr "user.following"}} - </a> - </li> - {{/* - <li> - <i class="octicon octicon-star"></i> - <a href="{{.Owner.HomeLink}}/stars"> - {{.Owner.NumStars}} {{.i18n.Tr "user.starred"}} - </a> - </li> - */}} {{if and .Orgs .HasOrgsVisible}} <li> <ul class="user-orgs"> @@ -95,7 +77,7 @@ </div> <div class="ui eleven wide column"> <div class="ui secondary stackable pointing menu"> - <a class='{{if and (ne .TabName "activity") (ne .TabName "stars")}}active{{end}} item' href="{{.Owner.HomeLink}}"> + <a class='{{if and (ne .TabName "activity") (ne .TabName "following") (ne .TabName "followers") (ne .TabName "stars")}}active{{end}} item' href="{{.Owner.HomeLink}}"> <i class="octicon octicon-repo"></i> {{.i18n.Tr "user.repositories"}} </a> <a class='{{if eq .TabName "activity"}}active{{end}} item' href="{{.Owner.HomeLink}}?tab=activity"> @@ -103,6 +85,15 @@ </a> <a class='{{if eq .TabName "stars"}}active{{end}} item' href="{{.Owner.HomeLink}}?tab=stars"> <i class="octicon octicon-star"></i> {{.i18n.Tr "user.starred"}} + <div class="ui label">{{.Owner.NumStars}}</div> + </a> + <a class='{{if eq .TabName "following"}}active{{end}} item' href="{{.Owner.HomeLink}}?tab=following"> + <i class="octicon octicon-person"></i> {{.i18n.Tr "user.following"}} + <div class="ui label">{{.Owner.NumFollowing}}</div> + </a> + <a class='{{if eq .TabName "followers"}}active{{end}} item' href="{{.Owner.HomeLink}}?tab=followers"> + <i class="octicon octicon-person"></i> {{.i18n.Tr "user.followers"}} + <div class="ui label">{{.Owner.NumFollowers}}</div> </a> </div> @@ -126,6 +117,10 @@ {{template "explore/repo_list" .}} {{template "base/paginate" .}} </div> + {{else if eq .TabName "following"}} + {{template "repo/user_cards" .}} + {{else if eq .TabName "followers"}} + {{template "repo/user_cards" .}} {{else}} {{template "explore/repo_search" .}} {{template "explore/repo_list" .}} |