signed-in dashboard and navbar changes
This commit is contained in:
parent
e878bfb80f
commit
4b912b9ae6
8 changed files with 47 additions and 16 deletions
|
@ -47,16 +47,16 @@ 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 {
|
||||
margin: 0;
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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>
|
|
@ -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>
|
||||
|
|
6
templates/user/dashboard.tmpl
Normal file
6
templates/user/dashboard.tmpl
Normal file
|
@ -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" .}}
|
2
web.go
2
web.go
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue