1
0
Fork 0
forked from forgejo/forgejo

Finish register user

This commit is contained in:
Unknown 2014-03-06 11:10:35 -05:00
parent 4b912b9ae6
commit 1249392c83
7 changed files with 78 additions and 27 deletions

View file

@ -118,30 +118,43 @@ func SignUp(form auth.RegisterForm, data base.TmplData, req *http.Request, r ren
return
}
if form.Password != form.RetypePasswd {
data["HasError"] = true
data["Err_Password"] = true
data["Err_RetypePasswd"] = true
data["ErrorMsg"] = "Password and re-type password are not same"
auth.AssignForm(form, data)
}
if hasErr, ok := data["HasError"]; ok && hasErr.(bool) {
r.HTML(200, "user/signup", data)
return
}
//Front-end should do double check of password.
u := &models.User{
Name: form.Username,
Name: form.UserName,
Email: form.Email,
Passwd: form.Password,
}
if err := models.RegisterUser(u); err != nil {
if err.Error() == models.ErrUserAlreadyExist.Error() {
data["HasError"] = true
data["HasError"] = true
auth.AssignForm(form, data)
switch err.Error() {
case models.ErrUserAlreadyExist.Error():
data["Err_Username"] = true
data["ErrorMsg"] = "Username has been already taken"
auth.AssignForm(form, data)
r.HTML(200, "user/signup", data)
return
case models.ErrEmailAlreadyUsed.Error():
data["Err_Email"] = true
data["ErrorMsg"] = "E-mail address has been already used"
r.HTML(200, "user/signup", data)
default:
data["ErrorMsg"] = err
log.Error("user.SignUp: %v", data)
r.HTML(500, "base/error", nil)
}
log.Error("user.SignUp: %v", err)
r.HTML(500, "status/500", nil)
return
}