aboutsummaryrefslogtreecommitdiffstats
path: root/routers/api/v1
diff options
context:
space:
mode:
Diffstat (limited to 'routers/api/v1')
-rw-r--r--routers/api/v1/admin/user.go23
1 files changed, 18 insertions, 5 deletions
diff --git a/routers/api/v1/admin/user.go b/routers/api/v1/admin/user.go
index c4b52e4bd6..93b28c2175 100644
--- a/routers/api/v1/admin/user.go
+++ b/routers/api/v1/admin/user.go
@@ -155,7 +155,7 @@ func EditUser(ctx *context.APIContext, form api.EditUserOption) {
return
}
- if len(form.Password) > 0 {
+ if len(form.Password) != 0 {
if !password.IsComplexEnough(form.Password) {
err := errors.New("PasswordComplexity")
ctx.Error(http.StatusBadRequest, "PasswordComplexity", err)
@@ -182,10 +182,23 @@ func EditUser(ctx *context.APIContext, form api.EditUserOption) {
}
u.LoginName = form.LoginName
- u.FullName = form.FullName
- u.Email = form.Email
- u.Website = form.Website
- u.Location = form.Location
+
+ if form.FullName != nil {
+ u.FullName = *form.FullName
+ }
+ if form.Email != nil {
+ u.Email = *form.Email
+ if len(u.Email) == 0 {
+ ctx.Error(http.StatusUnprocessableEntity, "", fmt.Errorf("email is not allowed to be empty string"))
+ return
+ }
+ }
+ if form.Website != nil {
+ u.Website = *form.Website
+ }
+ if form.Location != nil {
+ u.Location = *form.Location
+ }
if form.Active != nil {
u.IsActive = *form.Active
}