@ -0,0 +1,56 @@ | |||
package repo | |||
import ( | |||
"github.com/codegangsta/martini" | |||
"github.com/gogits/gogs/models" | |||
"github.com/gogits/gogs/modules/auth" | |||
"github.com/gogits/gogs/modules/base" | |||
"github.com/martini-contrib/render" | |||
"github.com/martini-contrib/sessions" | |||
"net/http" | |||
) | |||
func Single(params martini.Params, req *http.Request, r render.Render, data base.TmplData, session sessions.Session) { | |||
var ( | |||
user *models.User | |||
err error | |||
) | |||
// get repository owner | |||
isOwner := (data["SignedUserName"] == params["username"]) | |||
if !isOwner { | |||
user, err = models.GetUserByName(params["username"]) | |||
if err != nil { | |||
data["ErrorMsg"] = err | |||
//log.Error("repo.Single: %v", err) | |||
r.HTML(200, "base/error", data) | |||
return | |||
} | |||
} else { | |||
user = auth.SignedInUser(session) | |||
} | |||
if user == nil { | |||
data["ErrorMsg"] = "invliad user account for single repository" | |||
//log.Error("repo.Single: %v", err) | |||
r.HTML(200, "base/error", data) | |||
return | |||
} | |||
data["IsRepositoryOwner"] = isOwner | |||
// get repository | |||
repo, err := models.GetRepositoryByName(user, params["reponame"]) | |||
if err != nil { | |||
data["ErrorMsg"] = err | |||
//log.Error("repo.Single: %v", err) | |||
r.HTML(200, "base/error", data) | |||
return | |||
} | |||
data["Repository"] = repo | |||
data["Owner"] = user | |||
data["Title"] = user.Name + "/" + repo.Name | |||
data["RepositoryLink"] = data["Title"] | |||
data["IsRepoToolbarSource"] = true | |||
r.HTML(200, "repo/single", data) | |||
} |
@ -0,0 +1,38 @@ | |||
{{template "base/head" .}} | |||
{{template "base/navbar" .}} | |||
<div id="gogs-body-nav" class="gogs-repo-nav"> | |||
<div class="container"> | |||
<div class="gogs-repo-btns pull-right"> | |||
<div class="btn-group" id="gogs-repo-watching"> | |||
<button type="button" class="btn btn-default"><i class="fa fa-eye"></i>Watch {x}</button> | |||
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"> | |||
<span class="caret"></span> | |||
<span class="sr-only">Toggle Dropdown</span> | |||
</button> | |||
<div class="dropdown-menu" role="menu"> | |||
<div class="dropdown-item" data-val="not-watching"> | |||
<h4 role="presentation" class="dropdown-header">Not Watching</h4> | |||
<p class="description">You only receive notifications for conversations in which you participate or are @mentioned.</p> | |||
<p class="divider"></p> | |||
</div> | |||
<div class="dropdown-item" data-val="watching"> | |||
<h4 role="presentation" class="dropdown-header">Watching</h4> | |||
<p class="description">You receive notifications for all conversations in this repository.</p> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="btn-group"> | |||
<button type="button" class="btn btn-default"><i class="fa fa-star"></i>Star {{.Repository.NumStars}}</button> | |||
</div> | |||
<div class="btn-group"> | |||
<button type="button" class="btn btn-default"><i class="fa fa-code-fork"></i>Fork {{.Repository.NumForks}}</button> | |||
</div> | |||
</div> | |||
<h3><i class="fa fa-book fa-lg"></i><a href="/{{.Owner.Name}}/">{{.Owner.Name}}</a> / {{.Repository.Name}}</h3> | |||
</div> | |||
</div> | |||
{{template "repo/toolbar" .}} | |||
<div id="gogs-body" class="container"> | |||
repo single dashboard | |||
</div> | |||
{{template "base/footer" .}} |
@ -0,0 +1,41 @@ | |||
<div id="gogs-repo-toolbar"> | |||
<div class="container"> | |||
<nav class="navbar navbar-toolbar navbar-default" role="navigation"> | |||
<div class="container-fluid"> | |||
<div class="collapse navbar-collapse"> | |||
<ul class="nav navbar-nav"> | |||
<li class="dropdown"> | |||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Branches <b class="caret"></b></a> | |||
<ul class="dropdown-menu"> | |||
<li><a href="#">master</a></li> | |||
<li><a href="#">develop</a></li> | |||
</ul> | |||
</li> | |||
<li class="{{if .IsRepoToolbarSource}}active{{end}}"><a href="#">Source</a></li> | |||
<li><a href="#">Commits</a></li> | |||
<li><a href="#">Issues <span class="badge">42</span></a></li> | |||
<li><a href="#">Pull Requests</a></li> | |||
<li class="dropdown"> | |||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">More <b class="caret"></b></a> | |||
<ul class="dropdown-menu"> | |||
<li><a href="#">Release</a></li> | |||
<li><a href="#">Wiki</a></li> | |||
</ul> | |||
</li> | |||
</ul> | |||
<ul class="nav navbar-nav navbar-right"> | |||
<li class="dropdown"> | |||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Statics <b class="caret"></b></a> | |||
<ul class="dropdown-menu"> | |||
<li><a href="#">Graphic</a></li> | |||
<li><a href="#">Pulse</a></li> | |||
<li><a href="#">Network</a></li> | |||
</ul> | |||
</li>{{if .IsRepositoryOwner}} | |||
<li class="{{if .IsRepoToolbarSetting}}active{{end}}"><a href="/{{.RepositoryLink}}/settings/">Settings</a></li>{{end}} | |||
</ul> | |||
</div> | |||
</div> | |||
</nav> | |||
</div> | |||
</div> |