diff --git a/public/css/gogs.css b/public/css/gogs.css index c08c1e3ba..471c796df 100755 --- a/public/css/gogs.css +++ b/public/css/gogs.css @@ -47,17 +47,17 @@ body { text-decoration: none; } +.gogs-nav-item.navbar-right { + margin-top: 3px; +} + .gogs-nav-item.navbar-btn { cursor: pointer; margin-top: 8px; padding: 5px 15px; } -.gogs-nav-item.navbar-right { - margin-top: 3px; -} - -.gogs-nav-item.navbar-right .fa{ +.gogs-nav-item.navbar-right .fa { margin: 0; } @@ -80,7 +80,7 @@ body { border-left: 5px solid transparent; } -.gogs-nav .tooltip{ +.gogs-nav .tooltip { border: none; } diff --git a/routers/dashboard.go b/routers/dashboard.go index 8c370027b..c15462382 100644 --- a/routers/dashboard.go +++ b/routers/dashboard.go @@ -5,11 +5,16 @@ package routers import ( + "github.com/gogits/gogs/modules/base" + "github.com/gogits/gogs/routers/user" "github.com/martini-contrib/render" + "github.com/martini-contrib/sessions" ) -func Dashboard(r render.Render) { - r.HTML(200, "dashboard", map[string]interface{}{ - "Title": "Dashboard", - }) +func Home(r render.Render, data base.TmplData, session sessions.Session) { + if user.IsSignedIn(session) { + user.Dashboard(r, data, session) + return + } + r.HTML(200, "home", nil) } diff --git a/routers/user/user.go b/routers/user/user.go index ccbbd01b4..9e4e30bbb 100644 --- a/routers/user/user.go +++ b/routers/user/user.go @@ -18,6 +18,20 @@ import ( "github.com/gogits/gogs/utils/log" ) +func Dashboard(r render.Render, data base.TmplData, session sessions.Session) { + if !IsSignedIn(session) { + // todo : direct to logout + r.Redirect("/") + return + } + data["IsSigned"] = true + data["SignedUserId"] = SignedInId(session) + data["SignedUserName"] = SignedInName(session) + + data["Title"] = "Dashboard" + r.HTML(200, "user/dashboard", data) +} + func Profile(r render.Render) { r.HTML(200, "user/profile", map[string]interface{}{ "Title": "Username", @@ -65,10 +79,16 @@ func SignedInUser(session sessions.Session) *models.User { } func SignIn(req *http.Request, r render.Render, session sessions.Session) { + // if logged, do not show login page + if IsSignedIn(session) { + r.Redirect("/") + return + } var ( errString string account string ) + // if post, do login action if req.Method == "POST" { account = req.FormValue("account") user, err := models.LoginUserPlain(account, req.FormValue("passwd")) @@ -82,6 +102,7 @@ func SignIn(req *http.Request, r render.Render, session sessions.Session) { // login fail errString = fmt.Sprintf("%v", err) } + // if get or error post, show login page r.HTML(200, "user/signin", map[string]interface{}{ "Title": "Log In", "Error": errString, diff --git a/templates/base/head.tmpl b/templates/base/head.tmpl index 0294ba49a..e881e7f56 100644 --- a/templates/base/head.tmpl +++ b/templates/base/head.tmpl @@ -16,7 +16,7 @@ -