Browse Source

add repo router

Lunny Xiao 11 years ago
parent
commit
08feaf3ded
4 changed files with 34 additions and 5 deletions
  1. 21 4
      routers/repo/repo.go
  2. 1 1
      serve.go
  3. 10 0
      templates/repo/repo.tmpl
  4. 2 0
      web.go

+ 21 - 4
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)

+ 1 - 1
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 - 0
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 - 0
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)