You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

admin.go 2.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. // Copyright 2014 The Gogs Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package forms
  4. import (
  5. "net/http"
  6. "code.gitea.io/gitea/modules/context"
  7. "code.gitea.io/gitea/modules/structs"
  8. "code.gitea.io/gitea/modules/web/middleware"
  9. "gitea.com/go-chi/binding"
  10. )
  11. // AdminCreateUserForm form for admin to create user
  12. type AdminCreateUserForm struct {
  13. LoginType string `binding:"Required"`
  14. LoginName string
  15. UserName string `binding:"Required;Username;MaxSize(40)"`
  16. Email string `binding:"Required;Email;MaxSize(254)"`
  17. Password string `binding:"MaxSize(255)"`
  18. SendNotify bool
  19. MustChangePassword bool
  20. Visibility structs.VisibleType
  21. }
  22. // Validate validates form fields
  23. func (f *AdminCreateUserForm) Validate(req *http.Request, errs binding.Errors) binding.Errors {
  24. ctx := context.GetContext(req)
  25. return middleware.Validate(errs, ctx.Data, f, ctx.Locale)
  26. }
  27. // AdminEditUserForm form for admin to create user
  28. type AdminEditUserForm struct {
  29. LoginType string `binding:"Required"`
  30. UserName string `binding:"Username;MaxSize(40)"`
  31. LoginName string
  32. FullName string `binding:"MaxSize(100)"`
  33. Email string `binding:"Required;Email;MaxSize(254)"`
  34. Password string `binding:"MaxSize(255)"`
  35. Website string `binding:"ValidUrl;MaxSize(255)"`
  36. Location string `binding:"MaxSize(50)"`
  37. MaxRepoCreation int
  38. Active bool
  39. Admin bool
  40. Restricted bool
  41. AllowGitHook bool
  42. AllowImportLocal bool
  43. AllowCreateOrganization bool
  44. ProhibitLogin bool
  45. Reset2FA bool `form:"reset_2fa"`
  46. Visibility structs.VisibleType
  47. }
  48. // Validate validates form fields
  49. func (f *AdminEditUserForm) Validate(req *http.Request, errs binding.Errors) binding.Errors {
  50. ctx := context.GetContext(req)
  51. return middleware.Validate(errs, ctx.Data, f, ctx.Locale)
  52. }
  53. // AdminDashboardForm form for admin dashboard operations
  54. type AdminDashboardForm struct {
  55. Op string `binding:"required"`
  56. From string
  57. }
  58. // Validate validates form fields
  59. func (f *AdminDashboardForm) Validate(req *http.Request, errs binding.Errors) binding.Errors {
  60. ctx := context.GetContext(req)
  61. return middleware.Validate(errs, ctx.Data, f, ctx.Locale)
  62. }