forked from forgejo/forgejo
#1692 APIs: Users Followers
- User profile un/follow - List user's followers/following
This commit is contained in:
parent
c62a6b7a12
commit
a49af93faf
27 changed files with 641 additions and 271 deletions
|
@ -7,7 +7,6 @@ package user
|
|||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/Unknwon/com"
|
||||
"github.com/Unknwon/paginater"
|
||||
|
@ -21,7 +20,6 @@ import (
|
|||
const (
|
||||
DASHBOARD base.TplName = "user/dashboard/dashboard"
|
||||
ISSUES base.TplName = "user/dashboard/issues"
|
||||
STARS base.TplName = "user/stars"
|
||||
PROFILE base.TplName = "user/profile"
|
||||
ORG_HOME base.TplName = "org/home"
|
||||
)
|
||||
|
@ -338,67 +336,6 @@ func showOrgProfile(ctx *middleware.Context) {
|
|||
ctx.HTML(200, ORG_HOME)
|
||||
}
|
||||
|
||||
func Profile(ctx *middleware.Context) {
|
||||
ctx.Data["Title"] = "Profile"
|
||||
ctx.Data["PageIsUserProfile"] = true
|
||||
|
||||
uname := ctx.Params(":username")
|
||||
// Special handle for FireFox requests favicon.ico.
|
||||
if uname == "favicon.ico" {
|
||||
ctx.Redirect(setting.AppSubUrl + "/img/favicon.png")
|
||||
return
|
||||
} else if strings.HasSuffix(uname, ".png") {
|
||||
ctx.Error(404)
|
||||
return
|
||||
}
|
||||
|
||||
isShowKeys := false
|
||||
if strings.HasSuffix(uname, ".keys") {
|
||||
isShowKeys = true
|
||||
uname = strings.TrimSuffix(uname, ".keys")
|
||||
}
|
||||
|
||||
u, err := models.GetUserByName(uname)
|
||||
if err != nil {
|
||||
if models.IsErrUserNotExist(err) {
|
||||
ctx.Handle(404, "GetUserByName", err)
|
||||
} else {
|
||||
ctx.Handle(500, "GetUserByName", err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// Show SSH keys.
|
||||
if isShowKeys {
|
||||
ShowSSHKeys(ctx, u.Id)
|
||||
return
|
||||
}
|
||||
|
||||
if u.IsOrganization() {
|
||||
showOrgProfile(ctx)
|
||||
return
|
||||
}
|
||||
ctx.Data["Owner"] = u
|
||||
|
||||
tab := ctx.Query("tab")
|
||||
ctx.Data["TabName"] = tab
|
||||
switch tab {
|
||||
case "activity":
|
||||
retrieveFeeds(ctx, u.Id, 0, true)
|
||||
if ctx.Written() {
|
||||
return
|
||||
}
|
||||
default:
|
||||
ctx.Data["Repos"], err = models.GetRepositories(u.Id, ctx.IsSigned && ctx.User.Id == u.Id)
|
||||
if err != nil {
|
||||
ctx.Handle(500, "GetRepositories", err)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
ctx.HTML(200, PROFILE)
|
||||
}
|
||||
|
||||
func Email2User(ctx *middleware.Context) {
|
||||
u, err := models.GetUserByEmail(ctx.Query("email"))
|
||||
if err != nil {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue