diff options
Diffstat (limited to 'routers/org/setting.go')
-rw-r--r-- | routers/org/setting.go | 52 |
1 files changed, 32 insertions, 20 deletions
diff --git a/routers/org/setting.go b/routers/org/setting.go index a15af26d..9e26afa7 100644 --- a/routers/org/setting.go +++ b/routers/org/setting.go @@ -12,6 +12,7 @@ import ( "github.com/gogits/gogs/modules/log" "github.com/gogits/gogs/modules/middleware" "github.com/gogits/gogs/modules/setting" + "github.com/gogits/gogs/routers/user" ) const ( @@ -38,47 +39,50 @@ func SettingsPost(ctx *middleware.Context, form auth.UpdateOrgSettingForm) { org := ctx.Org.Organization // Check if organization name has been changed. - if org.Name != form.OrgUserName { - isExist, err := models.IsUserExist(org.Id, form.OrgUserName) + if org.Name != form.Name { + isExist, err := models.IsUserExist(org.Id, form.Name) if err != nil { ctx.Handle(500, "IsUserExist", err) return } else if isExist { - ctx.Data["Err_UserName"] = true + ctx.Data["OrgName"] = true ctx.RenderWithErr(ctx.Tr("form.username_been_taken"), SETTINGS_OPTIONS, &form) return - } else if err = models.ChangeUserName(org, form.OrgUserName); err != nil { + } else if err = models.ChangeUserName(org, form.Name); err != nil { if err == models.ErrUserNameIllegal { - ctx.Data["Err_UserName"] = true + ctx.Data["OrgName"] = true ctx.RenderWithErr(ctx.Tr("form.illegal_username"), SETTINGS_OPTIONS, &form) } else { ctx.Handle(500, "ChangeUserName", err) } return } - log.Trace("Organization name changed: %s -> %s", org.Name, form.OrgUserName) - org.Name = form.OrgUserName + log.Trace("Organization name changed: %s -> %s", org.Name, form.Name) + org.Name = form.Name } - org.FullName = form.OrgFullName - org.Email = form.Email + org.FullName = form.FullName org.Description = form.Description org.Website = form.Website org.Location = form.Location - org.Avatar = base.EncodeMd5(form.Avatar) - org.AvatarEmail = form.Avatar if err := models.UpdateUser(org); err != nil { - if models.IsErrEmailAlreadyUsed(err) { - ctx.Data["Err_Email"] = true - ctx.RenderWithErr(ctx.Tr("form.email_been_used"), SETTINGS_OPTIONS, &form) - } else { - ctx.Handle(500, "UpdateUser", err) - } + ctx.Handle(500, "UpdateUser", err) return } log.Trace("Organization setting updated: %s", org.Name) ctx.Flash.Success(ctx.Tr("org.settings.update_setting_success")) - ctx.Redirect(setting.AppSubUrl + "/org/" + org.Name + "/settings") + ctx.Redirect(org.HomeLink() + "/settings") +} + +func SettingsAvatar(ctx *middleware.Context, form auth.UploadAvatarForm) { + form.Enable = true + if err := user.UpdateAvatarSetting(ctx, form, ctx.Org.Organization); err != nil { + ctx.Flash.Error(err.Error()) + } else { + ctx.Flash.Success(ctx.Tr("org.settings.update_avatar_success")) + } + + ctx.Redirect(ctx.Org.OrgLink + "/settings") } func SettingsDelete(ctx *middleware.Context) { @@ -87,11 +91,19 @@ func SettingsDelete(ctx *middleware.Context) { org := ctx.Org.Organization if ctx.Req.Method == "POST" { - // FIXME: validate password. + if _, err := models.UserSignIn(ctx.User.Name, ctx.Query("password")); err != nil { + if models.IsErrUserNotExist(err) { + ctx.RenderWithErr(ctx.Tr("form.enterred_invalid_password"), SETTINGS_DELETE, nil) + } else { + ctx.Handle(500, "UserSignIn", err) + } + return + } + if err := models.DeleteOrganization(org); err != nil { if models.IsErrUserOwnRepos(err) { ctx.Flash.Error(ctx.Tr("form.org_still_own_repo")) - ctx.Redirect(setting.AppSubUrl + "/org/" + org.LowerName + "/settings/delete") + ctx.Redirect(org.HomeLink() + "/settings/delete") } else { ctx.Handle(500, "DeleteOrganization", err) } |