aboutsummaryrefslogtreecommitdiff
path: root/routers
diff options
context:
space:
mode:
authorUnknown <joe2010xtmf@163.com>2014-03-08 21:25:38 -0500
committerUnknown <joe2010xtmf@163.com>2014-03-08 21:25:38 -0500
commit76ce6f98487b3754992da18969df37560e49ee82 (patch)
tree834ab9c155d06a3fba6b23831bcde24d3b8f951b /routers
parent5a05d6633d413b1c5182a0a542e173f99601a103 (diff)
Update repo.Create
Diffstat (limited to 'routers')
-rw-r--r--routers/repo/repo.go42
-rw-r--r--routers/user/user.go4
2 files changed, 26 insertions, 20 deletions
diff --git a/routers/repo/repo.go b/routers/repo/repo.go
index e9ad7d1a..834195d8 100644
--- a/routers/repo/repo.go
+++ b/routers/repo/repo.go
@@ -7,7 +7,6 @@ package repo
import (
"fmt"
"net/http"
- "strconv"
"github.com/martini-contrib/render"
"github.com/martini-contrib/sessions"
@@ -18,7 +17,7 @@ import (
"github.com/gogits/gogs/modules/log"
)
-func Create(req *http.Request, r render.Render, data base.TmplData, session sessions.Session) {
+func Create(form auth.CreateRepoForm, req *http.Request, r render.Render, data base.TmplData, session sessions.Session) {
data["Title"] = "Create repository"
if req.Method == "GET" {
@@ -26,30 +25,37 @@ func Create(req *http.Request, r render.Render, data base.TmplData, session sess
return
}
+ if hasErr, ok := data["HasError"]; ok && hasErr.(bool) {
+ r.HTML(200, "repo/create", data)
+ return
+ }
+
// TODO: access check
- id, err := strconv.ParseInt(req.FormValue("userId"), 10, 64)
- if err == nil {
- var u *models.User
- u, err = models.GetUserById(id)
- if u == nil {
- err = models.ErrUserNotExist
- }
- if err == nil {
- _, err = models.CreateRepository(u, req.FormValue("name"))
+ user, err := models.GetUserById(form.UserId)
+ if err != nil {
+ if err.Error() == models.ErrUserNotExist.Error() {
+ data["HasError"] = true
+ data["ErrorMsg"] = "User does not exist"
+ auth.AssignForm(form, data)
+ r.HTML(200, "repo/create", data)
+ return
}
- if err == nil {
- data["RepoName"] = u.Name + "/" + req.FormValue("name")
+ }
+
+ if err == nil {
+ // TODO: init description and readme
+ if _, err = models.CreateRepository(user, form.RepoName); err == nil {
+ data["RepoName"] = user.Name + "/" + form.RepoName
r.HTML(200, "repo/created", data)
+ fmt.Println("good!!!!")
return
}
}
- if err != nil {
- data["ErrorMsg"] = err
- log.Error("repo.Create: %v", err)
- r.HTML(200, "base/error", data)
- }
+ data["ErrorMsg"] = err
+ log.Error("repo.Create: %v", err)
+ r.HTML(200, "base/error", data)
}
func Delete(req *http.Request, r render.Render, data base.TmplData, session sessions.Session) {
diff --git a/routers/user/user.go b/routers/user/user.go
index a07d79e4..51a84400 100644
--- a/routers/user/user.go
+++ b/routers/user/user.go
@@ -64,8 +64,8 @@ func SignIn(form auth.LogInForm, data base.TmplData, req *http.Request, r render
}
data["ErrorMsg"] = err
- log.Error("user.SignIn: %v", data)
- r.HTML(200, "base/error", nil)
+ log.Error("user.SignIn: %v", err)
+ r.HTML(200, "base/error", data)
return
}