MCPcopy Create free account
hub / github.com/gogs/gogs / SettingsPost

Function SettingsPost

internal/route/org/setting.go:27–76  ·  view source on GitHub ↗
(c *context.Context, f form.UpdateOrgSetting)

Source from the content-addressed store, hash-verified

25}
26
27func 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
78func SettingsAvatar(c *context.Context, f form.Avatar) {
79 f.Source = form.AvatarLocal

Callers

nothing calls this directly

Calls 14

IsErrUserAlreadyExistFunction · 0.92
IsErrNameNotAllowedFunction · 0.92
TitleMethod · 0.80
HasErrorMethod · 0.80
HTMLMethod · 0.80
ChangeUsernameMethod · 0.80
UsersMethod · 0.80
RenderWithErrMethod · 0.80
TrMethod · 0.80
ValueMethod · 0.80
SuccessMethod · 0.80
RedirectMethod · 0.80

Tested by

no test coverage detected