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;
}
border-left: 5px solid transparent;
}
-.gogs-nav .tooltip{
+.gogs-nav .tooltip {
border: none;
}
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)
}
"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",
}
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"))
// 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,
<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
<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>
+++ /dev/null
-{{template "base/head" .}}
-{{template "base/navbar" .}}
-<div id="gogs-body" class="container">
- Website is still in the progress of building...please come back later!
-</div>
-{{template "base/footer" .}}
\ No newline at end of file
--- /dev/null
+{{template "base/head" .}}
+{{template "base/navbar" .}}
+<div id="gogs-body" class="container">
+ Website is still in the progress of building...please come back later!
+</div>
+{{template "base/footer" .}}
\ No newline at end of file
--- /dev/null
+{{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
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)