aboutsummaryrefslogtreecommitdiff
path: root/routers
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2014-03-07 11:14:51 +0800
committerLunny Xiao <xiaolunwen@gmail.com>2014-03-07 11:14:51 +0800
commite246f2188ec1d2a7582bd9964abbe5f3d2ee2ee9 (patch)
treefe7e4602f158d46e876178545a36c13559687441 /routers
parent90223dcfc4c767c0d68acecf455cdaa5a5d141ee (diff)
add list for repo basic
Diffstat (limited to 'routers')
-rw-r--r--routers/repo/repo.go51
1 files changed, 39 insertions, 12 deletions
diff --git a/routers/repo/repo.go b/routers/repo/repo.go
index a9e48021..3a958f9a 100644
--- a/routers/repo/repo.go
+++ b/routers/repo/repo.go
@@ -12,32 +12,37 @@ import (
"github.com/martini-contrib/render"
"github.com/gogits/gogs/models"
+ "github.com/gogits/gogs/routers/user"
+ "github.com/martini-contrib/sessions"
)
-func Create(req *http.Request, r render.Render) {
+func Create(req *http.Request, r render.Render, session sessions.Session) {
if req.Method == "GET" {
r.HTML(200, "repo/create", map[string]interface{}{
- "Title": "Create repository",
+ "Title": "Create repository",
+ "UserName": user.SignedInName(session),
+ "UserId": user.SignedInId(session),
+ "IsSigned": user.IsSignedIn(session),
})
return
}
// TODO: access check
- //fmt.Println(req.FormValue("userId"), req.FormValue("name"))
id, err := strconv.ParseInt(req.FormValue("userId"), 10, 64)
if err == nil {
- var user *models.User
- user, err = models.GetUserById(id)
- if user == nil {
+ var u *models.User
+ u, err = models.GetUserById(id)
+ if u == nil {
err = models.ErrUserNotExist
}
if err == nil {
- _, err = models.CreateRepository(user, req.FormValue("name"))
+ _, err = models.CreateRepository(u, req.FormValue("name"))
}
if err == nil {
r.HTML(200, "repo/created", map[string]interface{}{
- "RepoName": user.Name + "/" + req.FormValue("name"),
+ "RepoName": u.Name + "/" + req.FormValue("name"),
+ "IsSigned": user.IsSignedIn(session),
})
return
}
@@ -45,15 +50,17 @@ func Create(req *http.Request, r render.Render) {
if err != nil {
r.HTML(200, "base/error", map[string]interface{}{
- "Error": fmt.Sprintf("%v", err),
+ "Error": fmt.Sprintf("%v", err),
+ "IsSigned": user.IsSignedIn(session),
})
}
}
-func Delete(req *http.Request, r render.Render) {
+func Delete(req *http.Request, r render.Render, session sessions.Session) {
if req.Method == "GET" {
r.HTML(200, "repo/delete", map[string]interface{}{
- "Title": "Delete repository",
+ "Title": "Delete repository",
+ "IsSigned": user.IsSignedIn(session),
})
return
}
@@ -62,7 +69,27 @@ func Delete(req *http.Request, r render.Render) {
err := models.DeleteRepository(u, "")
if err != nil {
r.HTML(200, "base/error", map[string]interface{}{
- "Error": fmt.Sprintf("%v", err),
+ "Error": fmt.Sprintf("%v", err),
+ "IsSigned": user.IsSignedIn(session),
})
}
}
+
+func List(req *http.Request, r render.Render, session sessions.Session) {
+ u := user.SignedInUser(session)
+ repos, err := models.GetRepositories(u)
+ fmt.Println("repos", repos)
+ if err != nil {
+ r.HTML(200, "base/error", map[string]interface{}{
+ "Error": fmt.Sprintf("%v", err),
+ "IsSigned": user.IsSignedIn(session),
+ })
+ return
+ }
+
+ r.HTML(200, "repo/list", map[string]interface{}{
+ "Title": "repositories",
+ "Repos": repos,
+ "IsSigned": user.IsSignedIn(session),
+ })
+}