Browse Source

add repo router

pull/31/head
Lunny Xiao 11 years ago
parent
commit
08feaf3ded
  1. 25
      routers/repo/repo.go
  2. 2
      serve.go
  3. 10
      templates/repo/repo.tmpl
  4. 2
      web.go

25
routers/repo/repo.go

@ -5,9 +5,9 @@
package repo
import (
"fmt"
"net/http"
"github.com/codegangsta/martini"
"github.com/martini-contrib/render"
"github.com/martini-contrib/sessions"
@ -87,12 +87,29 @@ func Delete(req *http.Request, r render.Render, data base.TmplData, session sess
}
}
func List(req *http.Request, r render.Render, data base.TmplData, session sessions.Session) {
data["Title"] = "Repositories"
func Repo(params martini.Params, req *http.Request, r render.Render, data base.TmplData, session sessions.Session) {
data["Title"] = "Repository"
files, err := models.GetReposFiles(params["username"], params["reponame"], "HEAD", "/")
if err != nil {
data["ErrorMsg"] = err
log.Error("repo.List: %v", err)
r.HTML(200, "base/error", data)
return
}
data["Files"] = files
r.HTML(200, "repo/repo", data)
}
func List(req *http.Request, r render.Render, data base.TmplData, session sessions.Session) {
u := auth.SignedInUser(session)
if u != nil {
r.Redirect("/")
return
}
data["Title"] = "Repositories"
repos, err := models.GetRepositories(u)
fmt.Println("repos", repos)
if err != nil {
data["ErrorMsg"] = err
log.Error("repo.List: %v", err)

2
serve.go

@ -58,7 +58,7 @@ func runServ(*cli.Context) {
cmd := os.Getenv("SSH_ORIGINAL_COMMAND")
if cmd == "" {
printf("Hi %s! You've successfully authenticated, but Gogs does not provide shell access.\n", user.Name)
println("Hi ", user.Name, "! You've successfully authenticated, but Gogs does not provide shell access.")
return
}

10
templates/repo/repo.tmpl

@ -0,0 +1,10 @@
{{template "base/head" .}}
{{template "base/navbar" .}}
<div class="container" id="gogs-body">
<ul>
{{range .Files}}
<li>{{.Name}} - {{.Type}}</li>
{{end}}
</ul>
</div>
{{template "base/footer" .}}

2
web.go

@ -70,6 +70,8 @@ func runWeb(*cli.Context) {
m.Get("/user/:username", auth.SignInRequire(false), user.Profile)
m.Get("/:username/:reponame", repo.Repo)
m.Any("/repo/create", auth.SignInRequire(true), binding.BindIgnErr(auth.CreateRepoForm{}), repo.Create)
m.Any("/repo/delete", auth.SignInRequire(true), repo.Delete)
m.Any("/repo/list", auth.SignInRequire(false), repo.List)

Loading…
Cancel
Save