]> source.dussan.org Git - gitea.git/commitdiff
signed-in dashboard and navbar changes
authorFuXiaoHei <fuxiaohei@hexiaz.com>
Thu, 6 Mar 2014 13:33:17 +0000 (21:33 +0800)
committerFuXiaoHei <fuxiaohei@hexiaz.com>
Thu, 6 Mar 2014 13:33:17 +0000 (21:33 +0800)
public/css/gogs.css
routers/dashboard.go
routers/user/user.go
templates/base/head.tmpl
templates/base/navbar.tmpl
templates/dashboard.tmpl [deleted file]
templates/home.tmpl [new file with mode: 0644]
templates/user/dashboard.tmpl [new file with mode: 0644]
web.go

index c08c1e3ba31e2cafe9946fcce74afe73b414aaf2..471c796dfb11a30a32a76813b0cd0a00b9262b65 100755 (executable)
@@ -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;
 }
 
index 8c370027bcfad07c8fec3e5b07059c3c754d7829..c1546238200828a2ffd1fd8ff965a0b2f0b963cd 100644 (file)
@@ -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)
 }
index ccbbd01b442c8cd22f55d5bf1ffe1379a257a20c..9e4e30bbb674d2b82765a5e937b19dc2101250b1 100644 (file)
@@ -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,
index 0294ba49a58f530e6136ff2af07c2a806e19fd12..e881e7f56d12ab9edf16a42ffe76e69dcc95f2ac 100644 (file)
@@ -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
index 00112c03d3be8dd8d167ae137f47426792af3b26..82fc3ae1809e0a0814ff4320798fce849959df7f 100644 (file)
@@ -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/dashboard.tmpl
deleted file mode 100644 (file)
index 8cbb29e..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-{{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
diff --git a/templates/home.tmpl b/templates/home.tmpl
new file mode 100644 (file)
index 0000000..8cbb29e
--- /dev/null
@@ -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!
+</div>
+{{template "base/footer" .}}
\ No newline at end of file
diff --git a/templates/user/dashboard.tmpl b/templates/user/dashboard.tmpl
new file mode 100644 (file)
index 0000000..bde541a
--- /dev/null
@@ -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
diff --git a/web.go b/web.go
index 90551510705671e9174b6c61bf57b6611ae5eff9..8f5c6c81bed4a56925ca90581a60fae49e56ccdc 100644 (file)
--- a/web.go
+++ b/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)