Browse Source

add organization dashboard page

fuxiaohei 10 years ago
parent
commit
f393dc6520
5 changed files with 91 additions and 2 deletions
  1. 2 1
      cmd/web.go
  2. 8 0
      public/css/gogs.css
  3. 5 0
      routers/org/org.go
  4. 73 0
      templates/org/dashboard.tmpl
  5. 3 1
      templates/user/dashboard.tmpl

+ 2 - 1
cmd/web.go

@@ -189,8 +189,9 @@ func runWeb(*cli.Context) {
 	reqOwner := middleware.RequireOwner()
 
 	m.Group("/o", func(r martini.Router) {
-		r.Get("/create",org.New)
+		r.Get("/create", org.New)
 		r.Get("/:org", org.Organization)
+		r.Get("/:org/dashboard", org.Dashboard)
 		r.Get("/:org/members", org.Members)
 		r.Get("/:org/teams", org.Teams)
 	})

+ 8 - 0
public/css/gogs.css

@@ -662,6 +662,14 @@ html, body {
     padding: .8em 1.2em;
 }
 
+#dashboard-switch-menu > li > a:hover {
+    text-decoration: none;
+}
+
+#dashboard-switch-menu > li > a img, #dashboard-switch button img {
+    margin-right: 6px;
+}
+
 #dashboard-switch-menu > li {
     border-bottom: 1px solid #eaeaea;
 }

+ 5 - 0
routers/org/org.go

@@ -24,3 +24,8 @@ func New(ctx *middleware.Context) {
 	ctx.Data["Title"] = "Create an Organization"
 	ctx.HTML(200, "org/new")
 }
+
+func Dashboard(ctx *middleware.Context, params martini.Params) {
+	ctx.Data["Title"] = "Dashboard"
+	ctx.HTML(200, "org/dashboard")
+}

+ 73 - 0
templates/org/dashboard.tmpl

@@ -0,0 +1,73 @@
+{{template "base/head" .}}
+{{template "base/navbar" .}}
+<div id="body-nav">
+    <div class="container">
+        <div class="btn-group pull-left" id="dashboard-switch">
+            <button type="button" class="btn btn-default">
+                <img src="//1.gravatar.com/avatar/f72f7454ce9d710baa506394f68f4132?s=28" alt="user-avatar" title="username">
+                gogits
+            </button>
+            <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
+                <span class="caret"></span>
+            </button>
+            <div class="dropdown-menu clone-group-btn no-propagation">
+                <ul id="dashboard-switch-menu" class="list-unstyled">
+                    <li class="checked"><a href="#"><i class="fa fa-check"></i>
+                        <img src="//1.gravatar.com/avatar/f72f7454ce9d710baa506394f68f4132?s=28" alt="user-avatar" title="username">
+                        gogits/gogs</a>
+                    </li>
+                </ul>
+            </div>
+        </div>
+        <ul class="nav nav-pills pull-right">
+            <li class="active"><a href="/">Feed</a></li>
+            <li><a href="/issues">Issues</a></li>
+            <li><a href="#">Setting</a></li>
+            <!-- <li><a href="/pulls">Pull Requests</a></li>
+            <li><a href="/stars">Stars</a></li> -->
+        </ul>
+        <h3>News Feed</h3>
+    </div>
+</div>
+<div id="body" class="container" data-page="user">
+    {{if .HasInfo}}<div class="alert alert-info">{{.InfoMsg}}</div>{{end}}
+    <div id="feed-left" class="col-md-8">
+        <ul class="list-unstyled activity-list">
+            {{range .Feeds}}
+            <li>
+                <i class="icon fa fa-{{ActionIcon .OpType}}"></i>
+                <div class="info"><span class="meta">{{TimeSince .Created}}</span><br>{{ActionDesc . | str2html}}</div>
+                <span class="clearfix"></span>
+            </li>
+            {{else}}
+            <li>Oh. Looks like there isn't any activity here yet. Get Busy!</li>
+            {{end}}
+        </ul>
+    </div>
+    <div id="feed-right" class="col-md-4">
+        <div class="panel panel-default repo-panel">
+            <div class="panel-heading">Repositories
+                <div class="btn-group pull-right" id="user-dashboard-repo-new">
+                    <button type="button" class="btn btn-success btn-sm dropdown-toggle" data-toggle="dropdown"><i class="fa fa-plus-square"></i>New</button>
+                    <div class="dropdown-menu dropdown-menu-right">
+                        <ul class="list-unstyled">
+                            <li><a href="/repo/create"><i class="fa fa-book"></i>Repository</a></li>
+                            <li><a href="/repo/migrate"><i class="fa fa-clipboard"></i>Migration</a></li>
+                            <!-- <li><a href="#"><i class="fa fa-users"></i>Organization</a></li> -->
+                        </ul>
+                    </div>
+                </div>
+            </div>
+
+            <div class="panel-body">
+                <ul class="list-group">{{range .MyRepos}}
+                    <li class="list-group-item"><a href="/{{$.SignedUserName}}/{{.Name}}">
+                        <!-- <span class="stars pull-right"><i class="fa fa-star"></i>{{.NumStars}}</span> -->
+                        <i class="fa fa-book"></i>{{.Name}}{{if .IsPrivate}} <span class="label label-default">Private</span>{{end}}</a>
+                    </li>{{end}}
+                </ul>
+            </div>
+        </div>
+    </div>
+</div>
+{{template "base/footer" .}}

+ 3 - 1
templates/user/dashboard.tmpl

@@ -12,7 +12,9 @@
             </button>
             <div class="dropdown-menu clone-group-btn no-propagation">
                 <ul id="dashboard-switch-menu" class="list-unstyled">
-                    <li class="checked"><a href="#"><i class="fa fa-check"></i> gogits/gogs</a></li>
+                    <li class="checked"><a href="#"><i class="fa fa-check"></i>
+                        <img src="//1.gravatar.com/avatar/f72f7454ce9d710baa506394f68f4132?s=28" alt="user-avatar" title="username">
+                        gogits/gogs</a></li>
                 </ul>
             </div>
         </div>