diff options
-rwxr-xr-x | public/css/gogs.css | 12 | ||||
-rw-r--r-- | routers/dashboard.go | 13 | ||||
-rw-r--r-- | routers/user/user.go | 21 | ||||
-rw-r--r-- | templates/base/head.tmpl | 2 | ||||
-rw-r--r-- | templates/base/navbar.tmpl | 7 | ||||
-rw-r--r-- | templates/home.tmpl (renamed from templates/dashboard.tmpl) | 0 | ||||
-rw-r--r-- | templates/user/dashboard.tmpl | 6 | ||||
-rw-r--r-- | web.go | 2 |
8 files changed, 47 insertions, 16 deletions
diff --git a/public/css/gogs.css b/public/css/gogs.css index c08c1e3ba3..471c796dfb 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 8c370027bc..c154623820 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 ccbbd01b44..9e4e30bbb6 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 0294ba49a5..e881e7f56d 100644 --- a/templates/base/head.tmpl +++ b/templates/base/head.tmpl @@ -16,7 +16,7 @@ <script src="/js/jquery-1.10.1.min.js"></script> <script src="/js/bootstrap.min.js"></script> <script src="/js/app.js"></script> - <title>{{.Title}} - {{AppName}}</title> + <title>{{if .Title}}{{.Title}} - {{end}}{{AppName}}</title> </head> <body> <noscript>Please enable JavaScript in your browser!</noscript>
\ No newline at end of file diff --git a/templates/base/navbar.tmpl b/templates/base/navbar.tmpl index 00112c03d3..82fc3ae180 100644 --- a/templates/base/navbar.tmpl +++ b/templates/base/navbar.tmpl @@ -4,15 +4,14 @@ <a class="gogs-nav-item active" href="/"><img src="/img/favicon.png" alt="Gogs Logo" id="gogs-logo"></a> <a class="gogs-nav-item" href="#">Dashboard</a> <a class="gogs-nav-item" href="#">Explore</a> - <a class="gogs-nav-item" href="#">Help</a> - - <!--<a class="gogs-nav-item navbar-right navbar-btn btn btn-danger" href="/login/">Sign in</a>--> + <a class="gogs-nav-item" href="#">Help</a>{{if .IsSigned}} <a id="gogs-nav-out" class="gogs-nav-item navbar-right navbar-btn btn btn-danger" href="/user/login/"><i class="fa fa-power-off fa-lg"></i></a> - <a id="gogs-nav-avatar" class="gogs-nav-item navbar-right" href="/user/profile" data-toggle="tooltip" data-placement="bottom" title="Username"> + <a id="gogs-nav-avatar" class="gogs-nav-item navbar-right" href="/user/profile" data-toggle="tooltip" data-placement="bottom" title="{{.SignedUserName}}"> <img src="http://1.gravatar.com/avatar/x?s=28" alt="user-avatar" title="username"/> </a> <a class="navbar-right gogs-nav-item" href="/repo/create" data-toggle="tooltip" data-placement="bottom" title="New Repository"><i class="fa fa-plus fa-lg"></i></a> <a class="navbar-right gogs-nav-item" href="#" data-toggle="tooltip" data-placement="bottom" title="Setting"><i class="fa fa-cogs fa-lg"></i></a> + {{else}}<a id="gogs-nav-signin" class="gogs-nav-item navbar-right navbar-btn btn btn-danger" href="/user/login/">Sign in</a>{{end}} </nav> </div> </div> diff --git a/templates/dashboard.tmpl b/templates/home.tmpl index 8cbb29ebb4..8cbb29ebb4 100644 --- a/templates/dashboard.tmpl +++ b/templates/home.tmpl diff --git a/templates/user/dashboard.tmpl b/templates/user/dashboard.tmpl new file mode 100644 index 0000000000..bde541a6a7 --- /dev/null +++ b/templates/user/dashboard.tmpl @@ -0,0 +1,6 @@ +{{template "base/head" .}} +{{template "base/navbar" .}} +<div id="gogs-body" class="container"> + Website is still in the progress of building...please come back later! <strong>{{.SignedUserName}}</strong> is logged! +</div> +{{template "base/footer" .}}
\ No newline at end of file @@ -57,7 +57,7 @@ func runWeb(*cli.Context) { m.Use(sessions.Sessions("my_session", store)) // Routers. - m.Get("/", routers.Dashboard) + m.Get("/", routers.Home) m.Any("/user/login", user.SignIn) m.Any("/user/sign_up", binding.BindIgnErr(auth.RegisterForm{}), user.SignUp) |