mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-27 18:19:17 +00:00
310376525b
- Use the forked [binding](https://code.forgejo.org/go-chi/binding) library. This library has two benefits, it removes the usage of `github.com/goccy/go-json` (has no benefit as the minimo library is also using it). It adds the `TrimSpace` feature, which will during the binding part trim the spaces around the value it got from the form, this is done before validation.
75 lines
2.5 KiB
Go
75 lines
2.5 KiB
Go
// Copyright 2014 The Gogs Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package forms
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"code.gitea.io/gitea/modules/structs"
|
|
"code.gitea.io/gitea/modules/web/middleware"
|
|
"code.gitea.io/gitea/services/context"
|
|
|
|
"code.forgejo.org/go-chi/binding"
|
|
)
|
|
|
|
// AdminCreateUserForm form for admin to create user
|
|
type AdminCreateUserForm struct {
|
|
LoginType string `binding:"Required"`
|
|
LoginName string
|
|
UserName string `binding:"Required;Username;MaxSize(40)"`
|
|
Email string `binding:"Required;EmailForAdmin;MaxSize(254)"`
|
|
Password string `binding:"MaxSize(255)"`
|
|
SendNotify bool
|
|
MustChangePassword bool
|
|
Visibility structs.VisibleType
|
|
}
|
|
|
|
// Validate validates form fields
|
|
func (f *AdminCreateUserForm) Validate(req *http.Request, errs binding.Errors) binding.Errors {
|
|
ctx := context.GetValidateContext(req)
|
|
return middleware.Validate(errs, ctx.Data, f, ctx.Locale)
|
|
}
|
|
|
|
// AdminEditUserForm form for admin to create user
|
|
type AdminEditUserForm struct {
|
|
LoginType string `binding:"Required"`
|
|
UserName string `binding:"Username;MaxSize(40)"`
|
|
LoginName string
|
|
FullName string `binding:"MaxSize(100)"`
|
|
Email string `binding:"Required;EmailForAdmin;MaxSize(254)"`
|
|
Password string `binding:"MaxSize(255)"`
|
|
Website string `binding:"ValidUrl;MaxSize(255)"`
|
|
Location string `binding:"MaxSize(50)"`
|
|
Language string `binding:"MaxSize(5)"`
|
|
Pronouns string `binding:"MaxSize(50)"`
|
|
MaxRepoCreation int
|
|
Active bool
|
|
Admin bool
|
|
Restricted bool
|
|
AllowGitHook bool
|
|
AllowImportLocal bool
|
|
AllowCreateOrganization bool
|
|
ProhibitLogin bool
|
|
Reset2FA bool `form:"reset_2fa"`
|
|
Visibility structs.VisibleType
|
|
}
|
|
|
|
// Validate validates form fields
|
|
func (f *AdminEditUserForm) Validate(req *http.Request, errs binding.Errors) binding.Errors {
|
|
ctx := context.GetValidateContext(req)
|
|
return middleware.Validate(errs, ctx.Data, f, ctx.Locale)
|
|
}
|
|
|
|
// AdminDashboardForm form for admin dashboard operations
|
|
type AdminDashboardForm struct {
|
|
Op string `binding:"required"`
|
|
From string
|
|
}
|
|
|
|
// Validate validates form fields
|
|
func (f *AdminDashboardForm) Validate(req *http.Request, errs binding.Errors) binding.Errors {
|
|
ctx := context.GetValidateContext(req)
|
|
return middleware.Validate(errs, ctx.Data, f, ctx.Locale)
|
|
}
|