Better users handlers
Catch empty usernames or password on register
This commit is contained in:
parent
17ef2d8fd6
commit
2ca1097b77
@ -60,7 +60,7 @@ func GenerateUserToken(env *web.Env, w http.ResponseWriter, r *http.Request) err
|
|||||||
// UpdateUserHandler updates the user data
|
// UpdateUserHandler updates the user data
|
||||||
func UpdateUserHandler(env *web.Env, w http.ResponseWriter, r *http.Request) error {
|
func UpdateUserHandler(env *web.Env, w http.ResponseWriter, r *http.Request) error {
|
||||||
log := env.Log.WithFields(logrus.Fields{
|
log := env.Log.WithFields(logrus.Fields{
|
||||||
"function": "admin.PostActivateUserHandler",
|
"function": "admin.UpdateUserHandler",
|
||||||
})
|
})
|
||||||
|
|
||||||
var data struct {
|
var data struct {
|
||||||
|
@ -25,7 +25,11 @@ func SignupPOSTHandler(e *web.Env, w http.ResponseWriter, r *http.Request) error
|
|||||||
}
|
}
|
||||||
e.Log.Debugf("creating new user ...")
|
e.Log.Debugf("creating new user ...")
|
||||||
|
|
||||||
if data.Password == "" && data.PasswordConfirm != "" {
|
if data.Username == "" {
|
||||||
|
return e.RenderError(w, fmt.Errorf("Empty username"))
|
||||||
|
}
|
||||||
|
|
||||||
|
if data.Password == "" || data.PasswordConfirm == "" {
|
||||||
return e.RenderError(w, fmt.Errorf("Empty password"))
|
return e.RenderError(w, fmt.Errorf("Empty password"))
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -127,12 +131,13 @@ func EditHandler(e *web.Env, w http.ResponseWriter, r *http.Request) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If passwords are not empty, update
|
||||||
if data.Password != "" && data.PasswordConfirm != "" {
|
if data.Password != "" && data.PasswordConfirm != "" {
|
||||||
if data.Password != data.PasswordConfirm {
|
if data.Password != data.PasswordConfirm {
|
||||||
return e.RenderError(w, fmt.Errorf("Passwords empty or missmatch"))
|
return e.RenderError(w, fmt.Errorf("Passwords empty or missmatch"))
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update the user config
|
// Update the user password
|
||||||
var err error
|
var err error
|
||||||
user.Hash, err = e.Auth.GenHash(data.Password)
|
user.Hash, err = e.Auth.GenHash(data.Password)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -156,7 +161,7 @@ func EditHandler(e *web.Env, w http.ResponseWriter, r *http.Request) error {
|
|||||||
|
|
||||||
// Save the user with the new configurations
|
// Save the user with the new configurations
|
||||||
if err := user.Update(e.Database); err != nil {
|
if err := user.Update(e.Database); err != nil {
|
||||||
return err
|
return e.RenderInternalError(w, "Error while updating user", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return e.RenderOK(w, "user updated")
|
return e.RenderOK(w, "user updated")
|
||||||
|
@ -8,6 +8,13 @@ func (e *Env) RenderError(w http.ResponseWriter, err error) error {
|
|||||||
return e.render(w, "error", err.Error())
|
return e.render(w, "error", err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// RenderInternalError renders an error with a user message, and internally
|
||||||
|
// logs the real error
|
||||||
|
func (e *Env) RenderInternalError(w http.ResponseWriter, msg string, err error) error {
|
||||||
|
e.Log.Warn(err)
|
||||||
|
return e.render(w, "error", msg)
|
||||||
|
}
|
||||||
|
|
||||||
// RenderOK renders a message
|
// RenderOK renders a message
|
||||||
func (e *Env) RenderOK(w http.ResponseWriter, message string) error {
|
func (e *Env) RenderOK(w http.ResponseWriter, message string) error {
|
||||||
return e.render(w, "ok", message)
|
return e.render(w, "ok", message)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user