aboutsummaryrefslogtreecommitdiff
path: root/routers/user/user.go
diff options
context:
space:
mode:
authorUnknown <joe2010xtmf@163.com>2014-03-06 02:21:44 -0500
committerUnknown <joe2010xtmf@163.com>2014-03-06 02:21:44 -0500
commitc6f2c23b05474d80ea282a7683135b3ea8f8e2d9 (patch)
tree83054b7cb334ffbfbeadc688bf853fa0916696d3 /routers/user/user.go
parente59f90b8fee3e615d1b60067bfc0d636606899d8 (diff)
Add binding form for register user
Diffstat (limited to 'routers/user/user.go')
-rw-r--r--routers/user/user.go56
1 files changed, 28 insertions, 28 deletions
diff --git a/routers/user/user.go b/routers/user/user.go
index a66a7b5f..503ebf54 100644
--- a/routers/user/user.go
+++ b/routers/user/user.go
@@ -8,13 +8,13 @@ import (
"fmt"
"net/http"
+ //"github.com/martini-contrib/binding"
"github.com/martini-contrib/render"
"github.com/martini-contrib/sessions"
- "github.com/gogits/validation"
-
"github.com/gogits/gogs/models"
- "github.com/gogits/gogs/utils/auth"
+ "github.com/gogits/gogs/modules/auth"
+ "github.com/gogits/gogs/modules/base"
"github.com/gogits/gogs/utils/log"
)
@@ -50,42 +50,42 @@ func SignIn(req *http.Request, r render.Render, session sessions.Session) {
})
}
-func SignUp(req *http.Request, r render.Render) {
- data := map[string]interface{}{"Title": "Sign Up"}
+func SignUp(form auth.RegisterForm, data base.TmplData, req *http.Request, r render.Render) {
+ data["Title"] = "Sign Up"
+
if req.Method == "GET" {
r.HTML(200, "user/signup", data)
return
}
- // Front-end should do double check of password.
- u := &models.User{
- Name: req.FormValue("username"),
- Email: req.FormValue("email"),
- Passwd: req.FormValue("passwd"),
+ if hasErr, ok := data["HasError"]; ok && hasErr.(bool) {
+ r.HTML(200, "user/signup", data)
+ return
}
- valid := validation.Validation{}
- ok, err := valid.Valid(u)
- if err != nil {
- log.Error("user.SignUp -> valid user: %v", err)
- return
+ //Front-end should do double check of password.
+ u := &models.User{
+ Name: form.UserName,
+ Email: form.Email,
+ Passwd: form.Password,
}
- if !ok {
- data["HasError"] = true
- data["ErrorMsg"] = auth.GenerateErrorMsg(valid.Errors[0])
- r.HTML(200, "user/signup", data)
+
+ if err := models.RegisterUser(u); err != nil {
+ if err.Error() == models.ErrUserAlreadyExist.Error() {
+ data["HasError"] = true
+ data["Err_Username"] = true
+ data["ErrorMsg"] = "Username has been already taken"
+ auth.AssignForm(form, data)
+ r.HTML(200, "user/signup", data)
+ return
+ }
+
+ log.Error("user.SignUp: %v", err)
+ r.HTML(500, "status/500", nil)
return
}
- // err = models.RegisterUser(u)
- // if err != nil {
- // r.HTML(200, "base/error", map[string]interface{}{
- // "Error": fmt.Sprintf("%v", err),
- // })
- // return
- // }
-
- // r.Redirect("/")
+ r.Redirect("/user/login")
}
func Delete(req *http.Request, r render.Render) {