(c *context.Context, f form.UpdateOrgSetting)
| 25 | } |
| 26 | |
| 27 | func SettingsPost(c *context.Context, f form.UpdateOrgSetting) { |
| 28 | c.Title("org.settings") |
| 29 | c.Data["PageIsSettingsOptions"] = true |
| 30 | |
| 31 | if c.HasError() { |
| 32 | c.HTML(http.StatusBadRequest, tmplOrgSettingsOptions) |
| 33 | return |
| 34 | } |
| 35 | |
| 36 | org := c.Org.Organization |
| 37 | |
| 38 | // Check if the organization username (including cases) had been changed |
| 39 | if org.Name != f.Name { |
| 40 | err := database.Handle.Users().ChangeUsername(c.Req.Context(), c.Org.Organization.ID, f.Name) |
| 41 | if err != nil { |
| 42 | c.Data["OrgName"] = true |
| 43 | switch { |
| 44 | case database.IsErrUserAlreadyExist(err): |
| 45 | c.RenderWithErr(c.Tr("form.username_been_taken"), http.StatusUnprocessableEntity, tmplOrgSettingsOptions, &f) |
| 46 | case database.IsErrNameNotAllowed(err): |
| 47 | c.RenderWithErr(c.Tr("user.form.name_not_allowed", err.(database.ErrNameNotAllowed).Value()), http.StatusBadRequest, tmplOrgSettingsOptions, &f) |
| 48 | default: |
| 49 | c.Error(err, "change organization name") |
| 50 | } |
| 51 | return |
| 52 | } |
| 53 | |
| 54 | // reset c.org.OrgLink with new name |
| 55 | c.Org.OrgLink = conf.Server.Subpath + "/org/" + f.Name |
| 56 | log.Trace("Organization name changed: %s -> %s", org.Name, f.Name) |
| 57 | } |
| 58 | |
| 59 | opts := database.UpdateUserOptions{ |
| 60 | FullName: &f.FullName, |
| 61 | Website: &f.Website, |
| 62 | Location: &f.Location, |
| 63 | Description: &f.Description, |
| 64 | } |
| 65 | if c.User.IsAdmin { |
| 66 | opts.MaxRepoCreation = &f.MaxRepoCreation |
| 67 | } |
| 68 | err := database.Handle.Users().Update(c.Req.Context(), c.Org.Organization.ID, opts) |
| 69 | if err != nil { |
| 70 | c.Error(err, "update organization") |
| 71 | return |
| 72 | } |
| 73 | |
| 74 | c.Flash.Success(c.Tr("org.settings.update_setting_success")) |
| 75 | c.Redirect(c.Org.OrgLink + "/settings") |
| 76 | } |
| 77 | |
| 78 | func SettingsAvatar(c *context.Context, f form.Avatar) { |
| 79 | f.Source = form.AvatarLocal |
nothing calls this directly
no test coverage detected