aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--routers/repo/repo.go25
-rw-r--r--serve.go2
-rw-r--r--templates/repo/repo.tmpl10
-rw-r--r--web.go2
4 files changed, 34 insertions, 5 deletions
diff --git a/routers/repo/repo.go b/routers/repo/repo.go
index 62352f76cf..6444034525 100644
--- a/routers/repo/repo.go
+++ b/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)
diff --git a/serve.go b/serve.go
index 97b9c567e6..56105f2f80 100644
--- a/serve.go
+++ b/serve.go
@@ -58,7 +58,7 @@ func runServ(*cli.Context) {
cmd := os.Getenv("SSH_ORIGINAL_COMMAND")
if cmd == "" {
- fmt.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
}
diff --git a/templates/repo/repo.tmpl b/templates/repo/repo.tmpl
new file mode 100644
index 0000000000..5ae3f25c16
--- /dev/null
+++ b/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" .}} \ No newline at end of file
diff --git a/web.go b/web.go
index c204131662..c8b7ed0d49 100644
--- a/web.go
+++ b/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)