1
0
mirror of https://github.com/go-gitea/gitea.git synced 2024-11-02 08:57:32 -04:00

Merge pull request #274 from lunny/lunny/golint_modules_auth

Golint fixed for modules/auth
This commit is contained in:
Thomas Boerger 2016-11-27 16:21:49 +01:00 committed by GitHub
commit 25b5722155
16 changed files with 103 additions and 24 deletions

View File

@ -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)
}) })

View File

@ -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}
} }

View File

@ -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)
} }

View File

@ -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(")
} }

View File

@ -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)
} }

View File

@ -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 {

View File

@ -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)
} }

View File

@ -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:

View File

@ -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")
} }

View File

@ -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)
} }

View File

@ -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)
} }

View File

@ -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

View File

@ -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)

View File

@ -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")
} }

View File

@ -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
} }

View File

@ -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
} }