diff options
author | FuXiaoHei <fuxiaohei@hexiaz.com> | 2014-03-13 12:15:58 +0800 |
---|---|---|
committer | FuXiaoHei <fuxiaohei@hexiaz.com> | 2014-03-13 12:15:58 +0800 |
commit | 4fff38856e784cb1c2c8115a7c7e013f42f7d8d8 (patch) | |
tree | 7d3984ca36ff3c255feb1a1483126c9fb29e0852 /routers/repo | |
parent | 3c67318d8fcc6f61d766496a092c4be688fe8e75 (diff) | |
download | gitea-4fff38856e784cb1c2c8115a7c7e013f42f7d8d8.tar.gz gitea-4fff38856e784cb1c2c8115a7c7e013f42f7d8d8.zip |
single repository page ui preview
Diffstat (limited to 'routers/repo')
-rw-r--r-- | routers/repo/single.go | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/routers/repo/single.go b/routers/repo/single.go new file mode 100644 index 0000000000..be27db8e05 --- /dev/null +++ b/routers/repo/single.go @@ -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) +} |