golint fixed for modules/auth
This commit is contained in:
parent
e6da2cf2cb
commit
ec87a75c00
16 changed files with 103 additions and 24 deletions
|
@ -280,7 +280,7 @@ func runWeb(ctx *cli.Context) error {
|
||||||
|
|
||||||
m.Group("/users", func() {
|
m.Group("/users", func() {
|
||||||
m.Get("", admin.Users)
|
m.Get("", admin.Users)
|
||||||
m.Combo("/new").Get(admin.NewUser).Post(bindIgnErr(auth.AdminCrateUserForm{}), admin.NewUserPost)
|
m.Combo("/new").Get(admin.NewUser).Post(bindIgnErr(auth.AdminCreateUserForm{}), admin.NewUserPost)
|
||||||
m.Combo("/:userid").Get(admin.EditUser).Post(bindIgnErr(auth.AdminEditUserForm{}), admin.EditUserPost)
|
m.Combo("/:userid").Get(admin.EditUser).Post(bindIgnErr(auth.AdminEditUserForm{}), admin.EditUserPost)
|
||||||
m.Post("/:userid/delete", admin.DeleteUser)
|
m.Post("/:userid/delete", admin.DeleteUser)
|
||||||
})
|
})
|
||||||
|
|
|
@ -502,7 +502,7 @@ func LoginViaSMTP(user *User, login, password string, sourceID int64, cfg *SMTPC
|
||||||
// LoginViaPAM queries if login/password is valid against the PAM,
|
// LoginViaPAM queries if login/password is valid against the PAM,
|
||||||
// and create a local user if success when enabled.
|
// and create a local user if success when enabled.
|
||||||
func LoginViaPAM(user *User, login, password string, sourceID int64, cfg *PAMConfig, autoRegister bool) (*User, error) {
|
func LoginViaPAM(user *User, login, password string, sourceID int64, cfg *PAMConfig, autoRegister bool) (*User, error) {
|
||||||
if err := pam.PAMAuth(cfg.ServiceName, login, password); err != nil {
|
if err := pam.Auth(cfg.ServiceName, login, password); err != nil {
|
||||||
if strings.Contains(err.Error(), "Authentication failure") {
|
if strings.Contains(err.Error(), "Authentication failure") {
|
||||||
return nil, ErrUserNotExist{0, login, 0}
|
return nil, ErrUserNotExist{0, login, 0}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,8 @@ import (
|
||||||
"github.com/go-macaron/binding"
|
"github.com/go-macaron/binding"
|
||||||
)
|
)
|
||||||
|
|
||||||
type AdminCrateUserForm struct {
|
// AdminCreateUserForm form for admin to create user
|
||||||
|
type AdminCreateUserForm struct {
|
||||||
LoginType string `binding:"Required"`
|
LoginType string `binding:"Required"`
|
||||||
LoginName string
|
LoginName string
|
||||||
UserName string `binding:"Required;AlphaDashDot;MaxSize(35)"`
|
UserName string `binding:"Required;AlphaDashDot;MaxSize(35)"`
|
||||||
|
@ -19,10 +20,12 @@ type AdminCrateUserForm struct {
|
||||||
SendNotify bool
|
SendNotify bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *AdminCrateUserForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
// Validate validates form fields
|
||||||
|
func (f *AdminCreateUserForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// AdminEditUserForm form for admin to create user
|
||||||
type AdminEditUserForm struct {
|
type AdminEditUserForm struct {
|
||||||
LoginType string `binding:"Required"`
|
LoginType string `binding:"Required"`
|
||||||
LoginName string
|
LoginName string
|
||||||
|
@ -39,6 +42,7 @@ type AdminEditUserForm struct {
|
||||||
ProhibitLogin bool
|
ProhibitLogin bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate validates form fields
|
||||||
func (f *AdminEditUserForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *AdminEditUserForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,7 @@ import (
|
||||||
"code.gitea.io/gitea/modules/setting"
|
"code.gitea.io/gitea/modules/setting"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// IsAPIPath if URL is an api path
|
||||||
func IsAPIPath(url string) bool {
|
func IsAPIPath(url string) bool {
|
||||||
return strings.HasPrefix(url, "/api/")
|
return strings.HasPrefix(url, "/api/")
|
||||||
}
|
}
|
||||||
|
@ -110,9 +111,8 @@ func SignedInUser(ctx *macaron.Context, sess session.Store) (*models.User, bool)
|
||||||
// FIXME: should I create a system notice?
|
// FIXME: should I create a system notice?
|
||||||
log.Error(4, "CreateUser: %v", err)
|
log.Error(4, "CreateUser: %v", err)
|
||||||
return nil, false
|
return nil, false
|
||||||
} else {
|
|
||||||
return u, false
|
|
||||||
}
|
}
|
||||||
|
return u, false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return u, false
|
return u, false
|
||||||
|
@ -148,6 +148,7 @@ func SignedInUser(ctx *macaron.Context, sess session.Store) (*models.User, bool)
|
||||||
return u, false
|
return u, false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Form form binding interface
|
||||||
type Form interface {
|
type Form interface {
|
||||||
binding.Validator
|
binding.Validator
|
||||||
}
|
}
|
||||||
|
@ -190,18 +191,22 @@ func getRuleBody(field reflect.StructField, prefix string) string {
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetSize get size int form tag
|
||||||
func GetSize(field reflect.StructField) string {
|
func GetSize(field reflect.StructField) string {
|
||||||
return getRuleBody(field, "Size(")
|
return getRuleBody(field, "Size(")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetMinSize get minimal size in form tag
|
||||||
func GetMinSize(field reflect.StructField) string {
|
func GetMinSize(field reflect.StructField) string {
|
||||||
return getRuleBody(field, "MinSize(")
|
return getRuleBody(field, "MinSize(")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetMaxSize get max size in form tag
|
||||||
func GetMaxSize(field reflect.StructField) string {
|
func GetMaxSize(field reflect.StructField) string {
|
||||||
return getRuleBody(field, "MaxSize(")
|
return getRuleBody(field, "MaxSize(")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetInclude get include in form tag
|
||||||
func GetInclude(field reflect.StructField) string {
|
func GetInclude(field reflect.StructField) string {
|
||||||
return getRuleBody(field, "Include(")
|
return getRuleBody(field, "Include(")
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@ import (
|
||||||
"gopkg.in/macaron.v1"
|
"gopkg.in/macaron.v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// AuthenticationForm form for authentication
|
||||||
type AuthenticationForm struct {
|
type AuthenticationForm struct {
|
||||||
ID int64
|
ID int64
|
||||||
Type int `binding:"Range(2,5)"`
|
Type int `binding:"Range(2,5)"`
|
||||||
|
@ -37,6 +38,7 @@ type AuthenticationForm struct {
|
||||||
PAMServiceName string
|
PAMServiceName string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate validates fields
|
||||||
func (f *AuthenticationForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *AuthenticationForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,6 +16,7 @@ import (
|
||||||
"code.gitea.io/gitea/modules/log"
|
"code.gitea.io/gitea/modules/log"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// SecurityProtocol protocol type
|
||||||
type SecurityProtocol int
|
type SecurityProtocol int
|
||||||
|
|
||||||
// Note: new type must be added at the end of list to maintain compatibility.
|
// Note: new type must be added at the end of list to maintain compatibility.
|
||||||
|
@ -25,7 +26,7 @@ const (
|
||||||
SecurityProtocolStartTLS
|
SecurityProtocolStartTLS
|
||||||
)
|
)
|
||||||
|
|
||||||
// Basic LDAP authentication service
|
// Source Basic LDAP authentication service
|
||||||
type Source struct {
|
type Source struct {
|
||||||
Name string // canonical name (ie. corporate.ad)
|
Name string // canonical name (ie. corporate.ad)
|
||||||
Host string // LDAP host
|
Host string // LDAP host
|
||||||
|
@ -148,7 +149,7 @@ func bindUser(l *ldap.Conn, userDN, passwd string) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// searchEntry : search an LDAP source if an entry (name, passwd) is valid and in the specific filter
|
// SearchEntry : search an LDAP source if an entry (name, passwd) is valid and in the specific filter
|
||||||
func (ls *Source) SearchEntry(name, passwd string, directBind bool) (string, string, string, string, bool, bool) {
|
func (ls *Source) SearchEntry(name, passwd string, directBind bool) (string, string, string, string, bool, bool) {
|
||||||
l, err := dial(ls)
|
l, err := dial(ls)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -16,14 +16,17 @@ import (
|
||||||
// \_______ /__| \___ (____ /___| /__/_____ \(____ /__| |__|\____/|___| /
|
// \_______ /__| \___ (____ /___| /__/_____ \(____ /__| |__|\____/|___| /
|
||||||
// \/ /_____/ \/ \/ \/ \/ \/
|
// \/ /_____/ \/ \/ \/ \/ \/
|
||||||
|
|
||||||
|
// CreateOrgForm form for creating organization
|
||||||
type CreateOrgForm struct {
|
type CreateOrgForm struct {
|
||||||
OrgName string `binding:"Required;AlphaDashDot;MaxSize(35)" locale:"org.org_name_holder"`
|
OrgName string `binding:"Required;AlphaDashDot;MaxSize(35)" locale:"org.org_name_holder"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *CreateOrgForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *CreateOrgForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UpdateOrgSettingForm form for updating organization settings
|
||||||
type UpdateOrgSettingForm struct {
|
type UpdateOrgSettingForm struct {
|
||||||
Name string `binding:"Required;AlphaDashDot;MaxSize(35)" locale:"org.org_name_holder"`
|
Name string `binding:"Required;AlphaDashDot;MaxSize(35)" locale:"org.org_name_holder"`
|
||||||
FullName string `binding:"MaxSize(100)"`
|
FullName string `binding:"MaxSize(100)"`
|
||||||
|
@ -33,6 +36,7 @@ type UpdateOrgSettingForm struct {
|
||||||
MaxRepoCreation int
|
MaxRepoCreation int
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *UpdateOrgSettingForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *UpdateOrgSettingForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
@ -44,12 +48,14 @@ func (f *UpdateOrgSettingForm) Validate(ctx *macaron.Context, errs binding.Error
|
||||||
// |____| \___ >____ /__|_| /
|
// |____| \___ >____ /__|_| /
|
||||||
// \/ \/ \/
|
// \/ \/ \/
|
||||||
|
|
||||||
|
// CreateTeamForm form for creating team
|
||||||
type CreateTeamForm struct {
|
type CreateTeamForm struct {
|
||||||
TeamName string `binding:"Required;AlphaDashDot;MaxSize(30)"`
|
TeamName string `binding:"Required;AlphaDashDot;MaxSize(30)"`
|
||||||
Description string `binding:"MaxSize(255)"`
|
Description string `binding:"MaxSize(255)"`
|
||||||
Permission string
|
Permission string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *CreateTeamForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *CreateTeamForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,8 @@ import (
|
||||||
"github.com/msteinert/pam"
|
"github.com/msteinert/pam"
|
||||||
)
|
)
|
||||||
|
|
||||||
func PAMAuth(serviceName, userName, passwd string) error {
|
// Auth pam auth service
|
||||||
|
func Auth(serviceName, userName, passwd string) error {
|
||||||
t, err := pam.StartFunc(serviceName, userName, func(s pam.Style, msg string) (string, error) {
|
t, err := pam.StartFunc(serviceName, userName, func(s pam.Style, msg string) (string, error) {
|
||||||
switch s {
|
switch s {
|
||||||
case pam.PromptEchoOff:
|
case pam.PromptEchoOff:
|
||||||
|
|
|
@ -10,6 +10,7 @@ import (
|
||||||
"errors"
|
"errors"
|
||||||
)
|
)
|
||||||
|
|
||||||
func PAMAuth(serviceName, userName, passwd string) error {
|
// Auth not supported lack of pam tag
|
||||||
|
func Auth(serviceName, userName, passwd string) error {
|
||||||
return errors.New("PAM not supported")
|
return errors.New("PAM not supported")
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,8 +21,9 @@ import (
|
||||||
// |____|_ /_______ / |____| \_______ /_______ /|___| |____| \_______ /____|_ // ______|
|
// |____|_ /_______ / |____| \_______ /_______ /|___| |____| \_______ /____|_ // ______|
|
||||||
// \/ \/ \/ \/ \/ \/ \/
|
// \/ \/ \/ \/ \/ \/ \/
|
||||||
|
|
||||||
|
// CreateRepoForm form for creating repository
|
||||||
type CreateRepoForm struct {
|
type CreateRepoForm struct {
|
||||||
Uid int64 `binding:"Required"`
|
UID int64 `binding:"Required"`
|
||||||
RepoName string `binding:"Required;AlphaDashDot;MaxSize(100)"`
|
RepoName string `binding:"Required;AlphaDashDot;MaxSize(100)"`
|
||||||
Private bool
|
Private bool
|
||||||
Description string `binding:"MaxSize(255)"`
|
Description string `binding:"MaxSize(255)"`
|
||||||
|
@ -32,21 +33,24 @@ type CreateRepoForm struct {
|
||||||
Readme string
|
Readme string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *CreateRepoForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *CreateRepoForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// MigrateRepoForm form for migrating repository
|
||||||
type MigrateRepoForm struct {
|
type MigrateRepoForm struct {
|
||||||
CloneAddr string `json:"clone_addr" binding:"Required"`
|
CloneAddr string `json:"clone_addr" binding:"Required"`
|
||||||
AuthUsername string `json:"auth_username"`
|
AuthUsername string `json:"auth_username"`
|
||||||
AuthPassword string `json:"auth_password"`
|
AuthPassword string `json:"auth_password"`
|
||||||
Uid int64 `json:"uid" binding:"Required"`
|
UID int64 `json:"uid" binding:"Required"`
|
||||||
RepoName string `json:"repo_name" binding:"Required;AlphaDashDot;MaxSize(100)"`
|
RepoName string `json:"repo_name" binding:"Required;AlphaDashDot;MaxSize(100)"`
|
||||||
Mirror bool `json:"mirror"`
|
Mirror bool `json:"mirror"`
|
||||||
Private bool `json:"private"`
|
Private bool `json:"private"`
|
||||||
Description string `json:"description" binding:"MaxSize(255)"`
|
Description string `json:"description" binding:"MaxSize(255)"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *MigrateRepoForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *MigrateRepoForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
@ -79,6 +83,7 @@ func (f MigrateRepoForm) ParseRemoteAddr(user *models.User) (string, error) {
|
||||||
return remoteAddr, nil
|
return remoteAddr, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// RepoSettingForm form for changing repository settings
|
||||||
type RepoSettingForm struct {
|
type RepoSettingForm struct {
|
||||||
RepoName string `binding:"Required;AlphaDashDot;MaxSize(100)"`
|
RepoName string `binding:"Required;AlphaDashDot;MaxSize(100)"`
|
||||||
Description string `binding:"MaxSize(255)"`
|
Description string `binding:"MaxSize(255)"`
|
||||||
|
@ -101,6 +106,7 @@ type RepoSettingForm struct {
|
||||||
EnablePulls bool
|
EnablePulls bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *RepoSettingForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *RepoSettingForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
@ -112,6 +118,7 @@ func (f *RepoSettingForm) Validate(ctx *macaron.Context, errs binding.Errors) bi
|
||||||
// \__/\ / \___ >___ /___| /___| /\____/|__|_ \
|
// \__/\ / \___ >___ /___| /___| /\____/|__|_ \
|
||||||
// \/ \/ \/ \/ \/ \/
|
// \/ \/ \/ \/ \/ \/
|
||||||
|
|
||||||
|
// WebhookForm form for changing web hook
|
||||||
type WebhookForm struct {
|
type WebhookForm struct {
|
||||||
Events string
|
Events string
|
||||||
Create bool
|
Create bool
|
||||||
|
@ -120,18 +127,22 @@ type WebhookForm struct {
|
||||||
Active bool
|
Active bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// PushOnly if the hook will be triggered when push
|
||||||
func (f WebhookForm) PushOnly() bool {
|
func (f WebhookForm) PushOnly() bool {
|
||||||
return f.Events == "push_only"
|
return f.Events == "push_only"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SendEverything if the hook will be triggered any event
|
||||||
func (f WebhookForm) SendEverything() bool {
|
func (f WebhookForm) SendEverything() bool {
|
||||||
return f.Events == "send_everything"
|
return f.Events == "send_everything"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ChooseEvents if the hook will be triggered choose events
|
||||||
func (f WebhookForm) ChooseEvents() bool {
|
func (f WebhookForm) ChooseEvents() bool {
|
||||||
return f.Events == "choose_events"
|
return f.Events == "choose_events"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NewWebhookForm form for creating web hook
|
||||||
type NewWebhookForm struct {
|
type NewWebhookForm struct {
|
||||||
PayloadURL string `binding:"Required;Url"`
|
PayloadURL string `binding:"Required;Url"`
|
||||||
ContentType int `binding:"Required"`
|
ContentType int `binding:"Required"`
|
||||||
|
@ -139,10 +150,12 @@ type NewWebhookForm struct {
|
||||||
WebhookForm
|
WebhookForm
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *NewWebhookForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *NewWebhookForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NewSlackHookForm form for creating slack hook
|
||||||
type NewSlackHookForm struct {
|
type NewSlackHookForm struct {
|
||||||
PayloadURL string `binding:"Required;Url"`
|
PayloadURL string `binding:"Required;Url"`
|
||||||
Channel string `binding:"Required"`
|
Channel string `binding:"Required"`
|
||||||
|
@ -152,6 +165,7 @@ type NewSlackHookForm struct {
|
||||||
WebhookForm
|
WebhookForm
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *NewSlackHookForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *NewSlackHookForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
@ -163,6 +177,7 @@ func (f *NewSlackHookForm) Validate(ctx *macaron.Context, errs binding.Errors) b
|
||||||
// |___/____ >____ >____/ \___ >
|
// |___/____ >____ >____/ \___ >
|
||||||
// \/ \/ \/
|
// \/ \/ \/
|
||||||
|
|
||||||
|
// CreateIssueForm form for creating issue
|
||||||
type CreateIssueForm struct {
|
type CreateIssueForm struct {
|
||||||
Title string `binding:"Required;MaxSize(255)"`
|
Title string `binding:"Required;MaxSize(255)"`
|
||||||
LabelIDs string `form:"label_ids"`
|
LabelIDs string `form:"label_ids"`
|
||||||
|
@ -172,16 +187,19 @@ type CreateIssueForm struct {
|
||||||
Files []string
|
Files []string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *CreateIssueForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *CreateIssueForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CreateCommentForm form for creating comment
|
||||||
type CreateCommentForm struct {
|
type CreateCommentForm struct {
|
||||||
Content string
|
Content string
|
||||||
Status string `binding:"OmitEmpty;In(reopen,close)"`
|
Status string `binding:"OmitEmpty;In(reopen,close)"`
|
||||||
Files []string
|
Files []string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *CreateCommentForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *CreateCommentForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
@ -193,12 +211,14 @@ func (f *CreateCommentForm) Validate(ctx *macaron.Context, errs binding.Errors)
|
||||||
// \____|__ /__|____/\___ >____ > |__| \____/|___| /\___ >
|
// \____|__ /__|____/\___ >____ > |__| \____/|___| /\___ >
|
||||||
// \/ \/ \/ \/ \/
|
// \/ \/ \/ \/ \/
|
||||||
|
|
||||||
|
// CreateMilestoneForm form for creating milestone
|
||||||
type CreateMilestoneForm struct {
|
type CreateMilestoneForm struct {
|
||||||
Title string `binding:"Required;MaxSize(50)"`
|
Title string `binding:"Required;MaxSize(50)"`
|
||||||
Content string
|
Content string
|
||||||
Deadline string
|
Deadline string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *CreateMilestoneForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *CreateMilestoneForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
@ -210,20 +230,24 @@ func (f *CreateMilestoneForm) Validate(ctx *macaron.Context, errs binding.Errors
|
||||||
// |_______ (____ /___ /\___ >____/
|
// |_______ (____ /___ /\___ >____/
|
||||||
// \/ \/ \/ \/
|
// \/ \/ \/ \/
|
||||||
|
|
||||||
|
// CreateLabelForm form for creating label
|
||||||
type CreateLabelForm struct {
|
type CreateLabelForm struct {
|
||||||
ID int64
|
ID int64
|
||||||
Title string `binding:"Required;MaxSize(50)" locale:"repo.issues.label_name"`
|
Title string `binding:"Required;MaxSize(50)" locale:"repo.issues.label_name"`
|
||||||
Color string `binding:"Required;Size(7)" locale:"repo.issues.label_color"`
|
Color string `binding:"Required;Size(7)" locale:"repo.issues.label_color"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *CreateLabelForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *CreateLabelForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// InitializeLabelsForm form for initializing labels
|
||||||
type InitializeLabelsForm struct {
|
type InitializeLabelsForm struct {
|
||||||
TemplateName string `binding:"Required"`
|
TemplateName string `binding:"Required"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *InitializeLabelsForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *InitializeLabelsForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
@ -235,6 +259,7 @@ func (f *InitializeLabelsForm) Validate(ctx *macaron.Context, errs binding.Error
|
||||||
// |____|_ /\___ >____/\___ >____ /____ >\___ >
|
// |____|_ /\___ >____/\___ >____ /____ >\___ >
|
||||||
// \/ \/ \/ \/ \/ \/
|
// \/ \/ \/ \/ \/ \/
|
||||||
|
|
||||||
|
// NewReleaseForm form for creating release
|
||||||
type NewReleaseForm struct {
|
type NewReleaseForm struct {
|
||||||
TagName string `binding:"Required"`
|
TagName string `binding:"Required"`
|
||||||
Target string `form:"tag_target" binding:"Required"`
|
Target string `form:"tag_target" binding:"Required"`
|
||||||
|
@ -244,10 +269,12 @@ type NewReleaseForm struct {
|
||||||
Prerelease bool
|
Prerelease bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *NewReleaseForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *NewReleaseForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// EditReleaseForm form for changing release
|
||||||
type EditReleaseForm struct {
|
type EditReleaseForm struct {
|
||||||
Title string `form:"title" binding:"Required"`
|
Title string `form:"title" binding:"Required"`
|
||||||
Content string `form:"content"`
|
Content string `form:"content"`
|
||||||
|
@ -255,6 +282,7 @@ type EditReleaseForm struct {
|
||||||
Prerelease bool `form:"prerelease"`
|
Prerelease bool `form:"prerelease"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *EditReleaseForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *EditReleaseForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
@ -266,6 +294,7 @@ func (f *EditReleaseForm) Validate(ctx *macaron.Context, errs binding.Errors) bi
|
||||||
// \__/\ / |__|__|_ \__|
|
// \__/\ / |__|__|_ \__|
|
||||||
// \/ \/
|
// \/ \/
|
||||||
|
|
||||||
|
// NewWikiForm form for creating wiki
|
||||||
type NewWikiForm struct {
|
type NewWikiForm struct {
|
||||||
OldTitle string
|
OldTitle string
|
||||||
Title string `binding:"Required"`
|
Title string `binding:"Required"`
|
||||||
|
@ -273,6 +302,7 @@ type NewWikiForm struct {
|
||||||
Message string
|
Message string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
// FIXME: use code generation to generate this method.
|
// FIXME: use code generation to generate this method.
|
||||||
func (f *NewWikiForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *NewWikiForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
|
@ -285,6 +315,7 @@ func (f *NewWikiForm) Validate(ctx *macaron.Context, errs binding.Errors) bindin
|
||||||
// /_______ /\____ | |__||__|
|
// /_______ /\____ | |__||__|
|
||||||
// \/ \/
|
// \/ \/
|
||||||
|
|
||||||
|
// EditRepoFileForm form for changing repository file
|
||||||
type EditRepoFileForm struct {
|
type EditRepoFileForm struct {
|
||||||
TreePath string `binding:"Required;MaxSize(500)"`
|
TreePath string `binding:"Required;MaxSize(500)"`
|
||||||
Content string `binding:"Required"`
|
Content string `binding:"Required"`
|
||||||
|
@ -295,14 +326,17 @@ type EditRepoFileForm struct {
|
||||||
LastCommit string
|
LastCommit string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *EditRepoFileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *EditRepoFileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// EditPreviewDiffForm form for changing preview diff
|
||||||
type EditPreviewDiffForm struct {
|
type EditPreviewDiffForm struct {
|
||||||
Content string
|
Content string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *EditPreviewDiffForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *EditPreviewDiffForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
@ -315,6 +349,7 @@ func (f *EditPreviewDiffForm) Validate(ctx *macaron.Context, errs binding.Errors
|
||||||
// |__| \/ \/
|
// |__| \/ \/
|
||||||
//
|
//
|
||||||
|
|
||||||
|
// UploadRepoFileForm form for uploading repository file
|
||||||
type UploadRepoFileForm struct {
|
type UploadRepoFileForm struct {
|
||||||
TreePath string `binding:"MaxSize(500)"`
|
TreePath string `binding:"MaxSize(500)"`
|
||||||
CommitSummary string `binding:"MaxSize(100)"`
|
CommitSummary string `binding:"MaxSize(100)"`
|
||||||
|
@ -324,14 +359,17 @@ type UploadRepoFileForm struct {
|
||||||
Files []string
|
Files []string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *UploadRepoFileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *UploadRepoFileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// RemoveUploadFileForm form for removing uploaded file
|
||||||
type RemoveUploadFileForm struct {
|
type RemoveUploadFileForm struct {
|
||||||
File string `binding:"Required;MaxSize(50)"`
|
File string `binding:"Required;MaxSize(50)"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *RemoveUploadFileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *RemoveUploadFileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
@ -343,6 +381,7 @@ func (f *RemoveUploadFileForm) Validate(ctx *macaron.Context, errs binding.Error
|
||||||
// /_______ /\___ >____/\___ >__| \___ >
|
// /_______ /\___ >____/\___ >__| \___ >
|
||||||
// \/ \/ \/ \/
|
// \/ \/ \/ \/
|
||||||
|
|
||||||
|
// DeleteRepoFileForm form for deleting repository file
|
||||||
type DeleteRepoFileForm struct {
|
type DeleteRepoFileForm struct {
|
||||||
CommitSummary string `binding:"MaxSize(100)"`
|
CommitSummary string `binding:"MaxSize(100)"`
|
||||||
CommitMessage string
|
CommitMessage string
|
||||||
|
@ -350,6 +389,7 @@ type DeleteRepoFileForm struct {
|
||||||
NewBranchName string `binding:"AlphaDashDot;MaxSize(100)"`
|
NewBranchName string `binding:"AlphaDashDot;MaxSize(100)"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *DeleteRepoFileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *DeleteRepoFileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,7 @@ import (
|
||||||
"gopkg.in/macaron.v1"
|
"gopkg.in/macaron.v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// InstallForm form for installation page
|
||||||
type InstallForm struct {
|
type InstallForm struct {
|
||||||
DbType string `binding:"Required"`
|
DbType string `binding:"Required"`
|
||||||
DbHost string
|
DbHost string
|
||||||
|
@ -26,7 +27,7 @@ type InstallForm struct {
|
||||||
Domain string `binding:"Required"`
|
Domain string `binding:"Required"`
|
||||||
SSHPort int
|
SSHPort int
|
||||||
HTTPPort string `binding:"Required"`
|
HTTPPort string `binding:"Required"`
|
||||||
AppUrl string `binding:"Required"`
|
AppURL string `binding:"Required"`
|
||||||
LogRootPath string `binding:"Required"`
|
LogRootPath string `binding:"Required"`
|
||||||
|
|
||||||
SMTPHost string
|
SMTPHost string
|
||||||
|
@ -49,6 +50,7 @@ type InstallForm struct {
|
||||||
AdminEmail string `binding:"OmitEmpty;MinSize(3);MaxSize(254);Include(@)" locale:"install.admin_email"`
|
AdminEmail string `binding:"OmitEmpty;MinSize(3);MaxSize(254);Include(@)" locale:"install.admin_email"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *InstallForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *InstallForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
@ -60,6 +62,7 @@ func (f *InstallForm) Validate(ctx *macaron.Context, errs binding.Errors) bindin
|
||||||
// \____|__ /______/ |____| \___|_ /
|
// \____|__ /______/ |____| \___|_ /
|
||||||
// \/ \/
|
// \/ \/
|
||||||
|
|
||||||
|
// RegisterForm form for registering
|
||||||
type RegisterForm struct {
|
type RegisterForm struct {
|
||||||
UserName string `binding:"Required;AlphaDashDot;MaxSize(35)"`
|
UserName string `binding:"Required;AlphaDashDot;MaxSize(35)"`
|
||||||
Email string `binding:"Required;Email;MaxSize(254)"`
|
Email string `binding:"Required;Email;MaxSize(254)"`
|
||||||
|
@ -67,16 +70,19 @@ type RegisterForm struct {
|
||||||
Retype string
|
Retype string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *RegisterForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *RegisterForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SignInForm form for signing in
|
||||||
type SignInForm struct {
|
type SignInForm struct {
|
||||||
UserName string `binding:"Required;MaxSize(254)"`
|
UserName string `binding:"Required;MaxSize(254)"`
|
||||||
Password string `binding:"Required;MaxSize(255)"`
|
Password string `binding:"Required;MaxSize(255)"`
|
||||||
Remember bool
|
Remember bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *SignInForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *SignInForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
@ -88,6 +94,7 @@ func (f *SignInForm) Validate(ctx *macaron.Context, errs binding.Errors) binding
|
||||||
// /_______ //_______ / |____| |____| |___\____|__ /\______ /_______ /
|
// /_______ //_______ / |____| |____| |___\____|__ /\______ /_______ /
|
||||||
// \/ \/ \/ \/ \/
|
// \/ \/ \/ \/ \/
|
||||||
|
|
||||||
|
// UpdateProfileForm form for updating profile
|
||||||
type UpdateProfileForm struct {
|
type UpdateProfileForm struct {
|
||||||
Name string `binding:"OmitEmpty;MaxSize(35)"`
|
Name string `binding:"OmitEmpty;MaxSize(35)"`
|
||||||
FullName string `binding:"MaxSize(100)"`
|
FullName string `binding:"MaxSize(100)"`
|
||||||
|
@ -96,15 +103,18 @@ type UpdateProfileForm struct {
|
||||||
Location string `binding:"MaxSize(50)"`
|
Location string `binding:"MaxSize(50)"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *UpdateProfileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *UpdateProfileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Avatar types
|
||||||
const (
|
const (
|
||||||
AvatarLocal string = "local"
|
AvatarLocal string = "local"
|
||||||
AvatarByMail string = "bymail"
|
AvatarByMail string = "bymail"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// AvatarForm form for changing avatar
|
||||||
type AvatarForm struct {
|
type AvatarForm struct {
|
||||||
Source string
|
Source string
|
||||||
Avatar *multipart.FileHeader
|
Avatar *multipart.FileHeader
|
||||||
|
@ -112,41 +122,50 @@ type AvatarForm struct {
|
||||||
Federavatar bool
|
Federavatar bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *AvatarForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *AvatarForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// AddEmailForm form for adding new email
|
||||||
type AddEmailForm struct {
|
type AddEmailForm struct {
|
||||||
Email string `binding:"Required;Email;MaxSize(254)"`
|
Email string `binding:"Required;Email;MaxSize(254)"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *AddEmailForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *AddEmailForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ChangePasswordForm form for changing password
|
||||||
type ChangePasswordForm struct {
|
type ChangePasswordForm struct {
|
||||||
OldPassword string `form:"old_password" binding:"Required;MinSize(1);MaxSize(255)"`
|
OldPassword string `form:"old_password" binding:"Required;MinSize(1);MaxSize(255)"`
|
||||||
Password string `form:"password" binding:"Required;MaxSize(255)"`
|
Password string `form:"password" binding:"Required;MaxSize(255)"`
|
||||||
Retype string `form:"retype"`
|
Retype string `form:"retype"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *ChangePasswordForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *ChangePasswordForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// AddSSHKeyForm form for adding SSH key
|
||||||
type AddSSHKeyForm struct {
|
type AddSSHKeyForm struct {
|
||||||
Title string `binding:"Required;MaxSize(50)"`
|
Title string `binding:"Required;MaxSize(50)"`
|
||||||
Content string `binding:"Required"`
|
Content string `binding:"Required"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *AddSSHKeyForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *AddSSHKeyForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NewAccessTokenForm form for creating access token
|
||||||
type NewAccessTokenForm struct {
|
type NewAccessTokenForm struct {
|
||||||
Name string `binding:"Required"`
|
Name string `binding:"Required"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Validate valideates the fields
|
||||||
func (f *NewAccessTokenForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *NewAccessTokenForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
return validate(errs, ctx.Data, f, ctx.Locale)
|
return validate(errs, ctx.Data, f, ctx.Locale)
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,7 +60,7 @@ func NewUser(ctx *context.Context) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewUserPost response for adding a new user
|
// NewUserPost response for adding a new user
|
||||||
func NewUserPost(ctx *context.Context, form auth.AdminCrateUserForm) {
|
func NewUserPost(ctx *context.Context, form auth.AdminCreateUserForm) {
|
||||||
ctx.Data["Title"] = ctx.Tr("admin.users.new_account")
|
ctx.Data["Title"] = ctx.Tr("admin.users.new_account")
|
||||||
ctx.Data["PageIsAdmin"] = true
|
ctx.Data["PageIsAdmin"] = true
|
||||||
ctx.Data["PageIsAdminUsers"] = true
|
ctx.Data["PageIsAdminUsers"] = true
|
||||||
|
|
|
@ -177,8 +177,8 @@ func Migrate(ctx *context.APIContext, form auth.MigrateRepoForm) {
|
||||||
ctxUser := ctx.User
|
ctxUser := ctx.User
|
||||||
// Not equal means context user is an organization,
|
// Not equal means context user is an organization,
|
||||||
// or is another user/organization if current user is admin.
|
// or is another user/organization if current user is admin.
|
||||||
if form.Uid != ctxUser.ID {
|
if form.UID != ctxUser.ID {
|
||||||
org, err := models.GetUserByID(form.Uid)
|
org, err := models.GetUserByID(form.UID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if models.IsErrUserNotExist(err) {
|
if models.IsErrUserNotExist(err) {
|
||||||
ctx.Error(422, "", err)
|
ctx.Error(422, "", err)
|
||||||
|
|
|
@ -89,7 +89,7 @@ func Install(ctx *context.Context) {
|
||||||
form.Domain = setting.Domain
|
form.Domain = setting.Domain
|
||||||
form.SSHPort = setting.SSH.Port
|
form.SSHPort = setting.SSH.Port
|
||||||
form.HTTPPort = setting.HTTPPort
|
form.HTTPPort = setting.HTTPPort
|
||||||
form.AppUrl = setting.AppURL
|
form.AppURL = setting.AppURL
|
||||||
form.LogRootPath = setting.LogRootPath
|
form.LogRootPath = setting.LogRootPath
|
||||||
|
|
||||||
// E-mail service settings
|
// E-mail service settings
|
||||||
|
@ -217,8 +217,8 @@ func InstallPost(ctx *context.Context, form auth.InstallForm) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if form.AppUrl[len(form.AppUrl)-1] != '/' {
|
if form.AppURL[len(form.AppURL)-1] != '/' {
|
||||||
form.AppUrl += "/"
|
form.AppURL += "/"
|
||||||
}
|
}
|
||||||
|
|
||||||
// Save settings.
|
// Save settings.
|
||||||
|
@ -242,7 +242,7 @@ func InstallPost(ctx *context.Context, form auth.InstallForm) {
|
||||||
cfg.Section("").Key("RUN_USER").SetValue(form.RunUser)
|
cfg.Section("").Key("RUN_USER").SetValue(form.RunUser)
|
||||||
cfg.Section("server").Key("DOMAIN").SetValue(form.Domain)
|
cfg.Section("server").Key("DOMAIN").SetValue(form.Domain)
|
||||||
cfg.Section("server").Key("HTTP_PORT").SetValue(form.HTTPPort)
|
cfg.Section("server").Key("HTTP_PORT").SetValue(form.HTTPPort)
|
||||||
cfg.Section("server").Key("ROOT_URL").SetValue(form.AppUrl)
|
cfg.Section("server").Key("ROOT_URL").SetValue(form.AppURL)
|
||||||
|
|
||||||
if form.SSHPort == 0 {
|
if form.SSHPort == 0 {
|
||||||
cfg.Section("server").Key("DISABLE_SSH").SetValue("true")
|
cfg.Section("server").Key("DISABLE_SSH").SetValue("true")
|
||||||
|
@ -328,5 +328,5 @@ func InstallPost(ctx *context.Context, form auth.InstallForm) {
|
||||||
|
|
||||||
log.Info("First-time run install finished!")
|
log.Info("First-time run install finished!")
|
||||||
ctx.Flash.Success(ctx.Tr("install.install_success"))
|
ctx.Flash.Success(ctx.Tr("install.install_success"))
|
||||||
ctx.Redirect(form.AppUrl + "user/login")
|
ctx.Redirect(form.AppURL + "user/login")
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,7 +94,7 @@ func ForkPost(ctx *context.Context, form auth.CreateRepoForm) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
ctxUser := checkContextUser(ctx, form.Uid)
|
ctxUser := checkContextUser(ctx, form.UID)
|
||||||
if ctx.Written() {
|
if ctx.Written() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
@ -112,7 +112,7 @@ func CreatePost(ctx *context.Context, form auth.CreateRepoForm) {
|
||||||
ctx.Data["Licenses"] = models.Licenses
|
ctx.Data["Licenses"] = models.Licenses
|
||||||
ctx.Data["Readmes"] = models.Readmes
|
ctx.Data["Readmes"] = models.Readmes
|
||||||
|
|
||||||
ctxUser := checkContextUser(ctx, form.Uid)
|
ctxUser := checkContextUser(ctx, form.UID)
|
||||||
if ctx.Written() {
|
if ctx.Written() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -167,7 +167,7 @@ func Migrate(ctx *context.Context) {
|
||||||
func MigratePost(ctx *context.Context, form auth.MigrateRepoForm) {
|
func MigratePost(ctx *context.Context, form auth.MigrateRepoForm) {
|
||||||
ctx.Data["Title"] = ctx.Tr("new_migrate")
|
ctx.Data["Title"] = ctx.Tr("new_migrate")
|
||||||
|
|
||||||
ctxUser := checkContextUser(ctx, form.Uid)
|
ctxUser := checkContextUser(ctx, form.UID)
|
||||||
if ctx.Written() {
|
if ctx.Written() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue