1
0

org.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package org
  2. import (
  3. log "unknwon.dev/clog/v2"
  4. "gogs.io/gogs/internal/context"
  5. "gogs.io/gogs/internal/database"
  6. "gogs.io/gogs/internal/form"
  7. )
  8. const (
  9. CREATE = "org/create"
  10. )
  11. func Create(c *context.Context) {
  12. c.Title("new_org")
  13. c.Success(CREATE)
  14. }
  15. func CreatePost(c *context.Context, f form.CreateOrg) {
  16. c.Title("new_org")
  17. if c.HasError() {
  18. c.Success(CREATE)
  19. return
  20. }
  21. org := &database.User{
  22. Name: f.OrgName,
  23. IsActive: true,
  24. Type: database.UserTypeOrganization,
  25. }
  26. if err := database.CreateOrganization(org, c.User); err != nil {
  27. c.Data["Err_OrgName"] = true
  28. switch {
  29. case database.IsErrUserAlreadyExist(err):
  30. c.RenderWithErr(c.Tr("form.org_name_been_taken"), CREATE, &f)
  31. case database.IsErrNameNotAllowed(err):
  32. c.RenderWithErr(c.Tr("org.form.name_not_allowed", err.(database.ErrNameNotAllowed).Value()), CREATE, &f)
  33. default:
  34. c.Error(err, "create organization")
  35. }
  36. return
  37. }
  38. log.Trace("Organization created: %s", org.Name)
  39. c.RedirectSubpath("/org/" + f.OrgName + "/dashboard")
  40. }