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.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.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,
 | 
			
		||||
// and create a local user if success when enabled.
 | 
			
		||||
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") {
 | 
			
		||||
			return nil, ErrUserNotExist{0, login, 0}
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,7 +10,8 @@ import (
 | 
			
		|||
	"github.com/go-macaron/binding"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type AdminCrateUserForm struct {
 | 
			
		||||
// AdminCreateUserForm form for admin to create user
 | 
			
		||||
type AdminCreateUserForm struct {
 | 
			
		||||
	LoginType  string `binding:"Required"`
 | 
			
		||||
	LoginName  string
 | 
			
		||||
	UserName   string `binding:"Required;AlphaDashDot;MaxSize(35)"`
 | 
			
		||||
| 
						 | 
				
			
			@ -19,10 +20,12 @@ type AdminCrateUserForm struct {
 | 
			
		|||
	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)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// AdminEditUserForm form for admin to create user
 | 
			
		||||
type AdminEditUserForm struct {
 | 
			
		||||
	LoginType        string `binding:"Required"`
 | 
			
		||||
	LoginName        string
 | 
			
		||||
| 
						 | 
				
			
			@ -39,6 +42,7 @@ type AdminEditUserForm struct {
 | 
			
		|||
	ProhibitLogin    bool
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate validates form fields
 | 
			
		||||
func (f *AdminEditUserForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	return validate(errs, ctx.Data, f, ctx.Locale)
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,6 +21,7 @@ import (
 | 
			
		|||
	"code.gitea.io/gitea/modules/setting"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// IsAPIPath if URL is an api path
 | 
			
		||||
func IsAPIPath(url string) bool {
 | 
			
		||||
	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?
 | 
			
		||||
							log.Error(4, "CreateUser: %v", err)
 | 
			
		||||
							return nil, false
 | 
			
		||||
						} else {
 | 
			
		||||
							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
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Form form binding interface
 | 
			
		||||
type Form interface {
 | 
			
		||||
	binding.Validator
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -190,18 +191,22 @@ func getRuleBody(field reflect.StructField, prefix string) string {
 | 
			
		|||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// GetSize get size int form tag
 | 
			
		||||
func GetSize(field reflect.StructField) string {
 | 
			
		||||
	return getRuleBody(field, "Size(")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// GetMinSize get minimal size in form tag
 | 
			
		||||
func GetMinSize(field reflect.StructField) string {
 | 
			
		||||
	return getRuleBody(field, "MinSize(")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// GetMaxSize get max size in form tag
 | 
			
		||||
func GetMaxSize(field reflect.StructField) string {
 | 
			
		||||
	return getRuleBody(field, "MaxSize(")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// GetInclude get include in form tag
 | 
			
		||||
func GetInclude(field reflect.StructField) string {
 | 
			
		||||
	return getRuleBody(field, "Include(")
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,6 +9,7 @@ import (
 | 
			
		|||
	"gopkg.in/macaron.v1"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// AuthenticationForm form for authentication
 | 
			
		||||
type AuthenticationForm struct {
 | 
			
		||||
	ID                int64
 | 
			
		||||
	Type              int    `binding:"Range(2,5)"`
 | 
			
		||||
| 
						 | 
				
			
			@ -37,6 +38,7 @@ type AuthenticationForm struct {
 | 
			
		|||
	PAMServiceName    string
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate validates fields
 | 
			
		||||
func (f *AuthenticationForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	return validate(errs, ctx.Data, f, ctx.Locale)
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,6 +16,7 @@ import (
 | 
			
		|||
	"code.gitea.io/gitea/modules/log"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// SecurityProtocol protocol type
 | 
			
		||||
type SecurityProtocol int
 | 
			
		||||
 | 
			
		||||
// Note: new type must be added at the end of list to maintain compatibility.
 | 
			
		||||
| 
						 | 
				
			
			@ -25,7 +26,7 @@ const (
 | 
			
		|||
	SecurityProtocolStartTLS
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Basic LDAP authentication service
 | 
			
		||||
// Source Basic LDAP authentication service
 | 
			
		||||
type Source struct {
 | 
			
		||||
	Name              string // canonical name (ie. corporate.ad)
 | 
			
		||||
	Host              string // LDAP host
 | 
			
		||||
| 
						 | 
				
			
			@ -148,7 +149,7 @@ func bindUser(l *ldap.Conn, userDN, passwd string) error {
 | 
			
		|||
	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) {
 | 
			
		||||
	l, err := dial(ls)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,14 +16,17 @@ import (
 | 
			
		|||
// \_______  /__|  \___  (____  /___|  /__/_____ \(____  /__| |__|\____/|___|  /
 | 
			
		||||
//         \/     /_____/     \/     \/         \/     \/                    \/
 | 
			
		||||
 | 
			
		||||
// CreateOrgForm form for creating organization
 | 
			
		||||
type CreateOrgForm struct {
 | 
			
		||||
	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 {
 | 
			
		||||
	return validate(errs, ctx.Data, f, ctx.Locale)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UpdateOrgSettingForm form for updating organization settings
 | 
			
		||||
type UpdateOrgSettingForm struct {
 | 
			
		||||
	Name            string `binding:"Required;AlphaDashDot;MaxSize(35)" locale:"org.org_name_holder"`
 | 
			
		||||
	FullName        string `binding:"MaxSize(100)"`
 | 
			
		||||
| 
						 | 
				
			
			@ -33,6 +36,7 @@ type UpdateOrgSettingForm struct {
 | 
			
		|||
	MaxRepoCreation int
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate valideates the fields
 | 
			
		||||
func (f *UpdateOrgSettingForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	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 {
 | 
			
		||||
	TeamName    string `binding:"Required;AlphaDashDot;MaxSize(30)"`
 | 
			
		||||
	Description string `binding:"MaxSize(255)"`
 | 
			
		||||
	Permission  string
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate valideates the fields
 | 
			
		||||
func (f *CreateTeamForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	return validate(errs, ctx.Data, f, ctx.Locale)
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,7 +12,8 @@ import (
 | 
			
		|||
	"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) {
 | 
			
		||||
		switch s {
 | 
			
		||||
		case pam.PromptEchoOff:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,6 +10,7 @@ import (
 | 
			
		|||
	"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")
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,8 +21,9 @@ import (
 | 
			
		|||
//  |____|_  /_______  / |____|   \_______  /_______  /|___| |____|   \_______  /____|_  // ______|
 | 
			
		||||
//         \/        \/                   \/        \/                        \/       \/ \/
 | 
			
		||||
 | 
			
		||||
// CreateRepoForm form for creating repository
 | 
			
		||||
type CreateRepoForm struct {
 | 
			
		||||
	Uid         int64  `binding:"Required"`
 | 
			
		||||
	UID         int64  `binding:"Required"`
 | 
			
		||||
	RepoName    string `binding:"Required;AlphaDashDot;MaxSize(100)"`
 | 
			
		||||
	Private     bool
 | 
			
		||||
	Description string `binding:"MaxSize(255)"`
 | 
			
		||||
| 
						 | 
				
			
			@ -32,21 +33,24 @@ type CreateRepoForm struct {
 | 
			
		|||
	Readme      string
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate valideates the fields
 | 
			
		||||
func (f *CreateRepoForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	return validate(errs, ctx.Data, f, ctx.Locale)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// MigrateRepoForm form for migrating repository
 | 
			
		||||
type MigrateRepoForm struct {
 | 
			
		||||
	CloneAddr    string `json:"clone_addr" binding:"Required"`
 | 
			
		||||
	AuthUsername string `json:"auth_username"`
 | 
			
		||||
	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)"`
 | 
			
		||||
	Mirror       bool   `json:"mirror"`
 | 
			
		||||
	Private      bool   `json:"private"`
 | 
			
		||||
	Description  string `json:"description" binding:"MaxSize(255)"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate valideates the fields
 | 
			
		||||
func (f *MigrateRepoForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	return validate(errs, ctx.Data, f, ctx.Locale)
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -79,6 +83,7 @@ func (f MigrateRepoForm) ParseRemoteAddr(user *models.User) (string, error) {
 | 
			
		|||
	return remoteAddr, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// RepoSettingForm form for changing repository settings
 | 
			
		||||
type RepoSettingForm struct {
 | 
			
		||||
	RepoName      string `binding:"Required;AlphaDashDot;MaxSize(100)"`
 | 
			
		||||
	Description   string `binding:"MaxSize(255)"`
 | 
			
		||||
| 
						 | 
				
			
			@ -101,6 +106,7 @@ type RepoSettingForm struct {
 | 
			
		|||
	EnablePulls           bool
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate valideates the fields
 | 
			
		||||
func (f *RepoSettingForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	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 {
 | 
			
		||||
	Events      string
 | 
			
		||||
	Create      bool
 | 
			
		||||
| 
						 | 
				
			
			@ -120,18 +127,22 @@ type WebhookForm struct {
 | 
			
		|||
	Active      bool
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// PushOnly if the hook will be triggered when push
 | 
			
		||||
func (f WebhookForm) PushOnly() bool {
 | 
			
		||||
	return f.Events == "push_only"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// SendEverything if the hook will be triggered any event
 | 
			
		||||
func (f WebhookForm) SendEverything() bool {
 | 
			
		||||
	return f.Events == "send_everything"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ChooseEvents if the hook will be triggered choose events
 | 
			
		||||
func (f WebhookForm) ChooseEvents() bool {
 | 
			
		||||
	return f.Events == "choose_events"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NewWebhookForm form for creating web hook
 | 
			
		||||
type NewWebhookForm struct {
 | 
			
		||||
	PayloadURL  string `binding:"Required;Url"`
 | 
			
		||||
	ContentType int    `binding:"Required"`
 | 
			
		||||
| 
						 | 
				
			
			@ -139,10 +150,12 @@ type NewWebhookForm struct {
 | 
			
		|||
	WebhookForm
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate valideates the fields
 | 
			
		||||
func (f *NewWebhookForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	return validate(errs, ctx.Data, f, ctx.Locale)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NewSlackHookForm form for creating slack hook
 | 
			
		||||
type NewSlackHookForm struct {
 | 
			
		||||
	PayloadURL string `binding:"Required;Url"`
 | 
			
		||||
	Channel    string `binding:"Required"`
 | 
			
		||||
| 
						 | 
				
			
			@ -152,6 +165,7 @@ type NewSlackHookForm struct {
 | 
			
		|||
	WebhookForm
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate valideates the fields
 | 
			
		||||
func (f *NewSlackHookForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	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 {
 | 
			
		||||
	Title       string `binding:"Required;MaxSize(255)"`
 | 
			
		||||
	LabelIDs    string `form:"label_ids"`
 | 
			
		||||
| 
						 | 
				
			
			@ -172,16 +187,19 @@ type CreateIssueForm struct {
 | 
			
		|||
	Files       []string
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate valideates the fields
 | 
			
		||||
func (f *CreateIssueForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	return validate(errs, ctx.Data, f, ctx.Locale)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// CreateCommentForm form for creating comment
 | 
			
		||||
type CreateCommentForm struct {
 | 
			
		||||
	Content string
 | 
			
		||||
	Status  string `binding:"OmitEmpty;In(reopen,close)"`
 | 
			
		||||
	Files   []string
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate valideates the fields
 | 
			
		||||
func (f *CreateCommentForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	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 {
 | 
			
		||||
	Title    string `binding:"Required;MaxSize(50)"`
 | 
			
		||||
	Content  string
 | 
			
		||||
	Deadline string
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate valideates the fields
 | 
			
		||||
func (f *CreateMilestoneForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	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 {
 | 
			
		||||
	ID    int64
 | 
			
		||||
	Title string `binding:"Required;MaxSize(50)" locale:"repo.issues.label_name"`
 | 
			
		||||
	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 {
 | 
			
		||||
	return validate(errs, ctx.Data, f, ctx.Locale)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// InitializeLabelsForm form for initializing labels
 | 
			
		||||
type InitializeLabelsForm struct {
 | 
			
		||||
	TemplateName string `binding:"Required"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate valideates the fields
 | 
			
		||||
func (f *InitializeLabelsForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	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 {
 | 
			
		||||
	TagName    string `binding:"Required"`
 | 
			
		||||
	Target     string `form:"tag_target" binding:"Required"`
 | 
			
		||||
| 
						 | 
				
			
			@ -244,10 +269,12 @@ type NewReleaseForm struct {
 | 
			
		|||
	Prerelease bool
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate valideates the fields
 | 
			
		||||
func (f *NewReleaseForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	return validate(errs, ctx.Data, f, ctx.Locale)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// EditReleaseForm form for changing release
 | 
			
		||||
type EditReleaseForm struct {
 | 
			
		||||
	Title      string `form:"title" binding:"Required"`
 | 
			
		||||
	Content    string `form:"content"`
 | 
			
		||||
| 
						 | 
				
			
			@ -255,6 +282,7 @@ type EditReleaseForm struct {
 | 
			
		|||
	Prerelease bool   `form:"prerelease"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate valideates the fields
 | 
			
		||||
func (f *EditReleaseForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	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 {
 | 
			
		||||
	OldTitle string
 | 
			
		||||
	Title    string `binding:"Required"`
 | 
			
		||||
| 
						 | 
				
			
			@ -273,6 +302,7 @@ type NewWikiForm struct {
 | 
			
		|||
	Message  string
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate valideates the fields
 | 
			
		||||
// FIXME: use code generation to generate this method.
 | 
			
		||||
func (f *NewWikiForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	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 {
 | 
			
		||||
	TreePath      string `binding:"Required;MaxSize(500)"`
 | 
			
		||||
	Content       string `binding:"Required"`
 | 
			
		||||
| 
						 | 
				
			
			@ -295,14 +326,17 @@ type EditRepoFileForm struct {
 | 
			
		|||
	LastCommit    string
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate valideates the fields
 | 
			
		||||
func (f *EditRepoFileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	return validate(errs, ctx.Data, f, ctx.Locale)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// EditPreviewDiffForm form for changing preview diff
 | 
			
		||||
type EditPreviewDiffForm struct {
 | 
			
		||||
	Content string
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate valideates the fields
 | 
			
		||||
func (f *EditPreviewDiffForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	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 {
 | 
			
		||||
	TreePath      string `binding:"MaxSize(500)"`
 | 
			
		||||
	CommitSummary string `binding:"MaxSize(100)"`
 | 
			
		||||
| 
						 | 
				
			
			@ -324,14 +359,17 @@ type UploadRepoFileForm struct {
 | 
			
		|||
	Files         []string
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate valideates the fields
 | 
			
		||||
func (f *UploadRepoFileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	return validate(errs, ctx.Data, f, ctx.Locale)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// RemoveUploadFileForm form for removing uploaded file
 | 
			
		||||
type RemoveUploadFileForm struct {
 | 
			
		||||
	File string `binding:"Required;MaxSize(50)"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate valideates the fields
 | 
			
		||||
func (f *RemoveUploadFileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	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 {
 | 
			
		||||
	CommitSummary string `binding:"MaxSize(100)"`
 | 
			
		||||
	CommitMessage string
 | 
			
		||||
| 
						 | 
				
			
			@ -350,6 +389,7 @@ type DeleteRepoFileForm struct {
 | 
			
		|||
	NewBranchName string `binding:"AlphaDashDot;MaxSize(100)"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate valideates the fields
 | 
			
		||||
func (f *DeleteRepoFileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	return validate(errs, ctx.Data, f, ctx.Locale)
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,6 +11,7 @@ import (
 | 
			
		|||
	"gopkg.in/macaron.v1"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// InstallForm form for installation page
 | 
			
		||||
type InstallForm struct {
 | 
			
		||||
	DbType   string `binding:"Required"`
 | 
			
		||||
	DbHost   string
 | 
			
		||||
| 
						 | 
				
			
			@ -26,7 +27,7 @@ type InstallForm struct {
 | 
			
		|||
	Domain       string `binding:"Required"`
 | 
			
		||||
	SSHPort      int
 | 
			
		||||
	HTTPPort     string `binding:"Required"`
 | 
			
		||||
	AppUrl       string `binding:"Required"`
 | 
			
		||||
	AppURL       string `binding:"Required"`
 | 
			
		||||
	LogRootPath  string `binding:"Required"`
 | 
			
		||||
 | 
			
		||||
	SMTPHost        string
 | 
			
		||||
| 
						 | 
				
			
			@ -49,6 +50,7 @@ type InstallForm struct {
 | 
			
		|||
	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 {
 | 
			
		||||
	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 {
 | 
			
		||||
	UserName string `binding:"Required;AlphaDashDot;MaxSize(35)"`
 | 
			
		||||
	Email    string `binding:"Required;Email;MaxSize(254)"`
 | 
			
		||||
| 
						 | 
				
			
			@ -67,16 +70,19 @@ type RegisterForm struct {
 | 
			
		|||
	Retype   string
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate valideates the fields
 | 
			
		||||
func (f *RegisterForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	return validate(errs, ctx.Data, f, ctx.Locale)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// SignInForm form for signing in
 | 
			
		||||
type SignInForm struct {
 | 
			
		||||
	UserName string `binding:"Required;MaxSize(254)"`
 | 
			
		||||
	Password string `binding:"Required;MaxSize(255)"`
 | 
			
		||||
	Remember bool
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate valideates the fields
 | 
			
		||||
func (f *SignInForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	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 {
 | 
			
		||||
	Name     string `binding:"OmitEmpty;MaxSize(35)"`
 | 
			
		||||
	FullName string `binding:"MaxSize(100)"`
 | 
			
		||||
| 
						 | 
				
			
			@ -96,15 +103,18 @@ type UpdateProfileForm struct {
 | 
			
		|||
	Location string `binding:"MaxSize(50)"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate valideates the fields
 | 
			
		||||
func (f *UpdateProfileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	return validate(errs, ctx.Data, f, ctx.Locale)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Avatar types
 | 
			
		||||
const (
 | 
			
		||||
	AvatarLocal  string = "local"
 | 
			
		||||
	AvatarByMail string = "bymail"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// AvatarForm form for changing avatar
 | 
			
		||||
type AvatarForm struct {
 | 
			
		||||
	Source      string
 | 
			
		||||
	Avatar      *multipart.FileHeader
 | 
			
		||||
| 
						 | 
				
			
			@ -112,41 +122,50 @@ type AvatarForm struct {
 | 
			
		|||
	Federavatar bool
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate valideates the fields
 | 
			
		||||
func (f *AvatarForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	return validate(errs, ctx.Data, f, ctx.Locale)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// AddEmailForm form for adding new email
 | 
			
		||||
type AddEmailForm struct {
 | 
			
		||||
	Email string `binding:"Required;Email;MaxSize(254)"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate valideates the fields
 | 
			
		||||
func (f *AddEmailForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	return validate(errs, ctx.Data, f, ctx.Locale)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ChangePasswordForm form for changing password
 | 
			
		||||
type ChangePasswordForm struct {
 | 
			
		||||
	OldPassword string `form:"old_password" binding:"Required;MinSize(1);MaxSize(255)"`
 | 
			
		||||
	Password    string `form:"password" binding:"Required;MaxSize(255)"`
 | 
			
		||||
	Retype      string `form:"retype"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate valideates the fields
 | 
			
		||||
func (f *ChangePasswordForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	return validate(errs, ctx.Data, f, ctx.Locale)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// AddSSHKeyForm form for adding SSH key
 | 
			
		||||
type AddSSHKeyForm struct {
 | 
			
		||||
	Title   string `binding:"Required;MaxSize(50)"`
 | 
			
		||||
	Content string `binding:"Required"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate valideates the fields
 | 
			
		||||
func (f *AddSSHKeyForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	return validate(errs, ctx.Data, f, ctx.Locale)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NewAccessTokenForm form for creating access token
 | 
			
		||||
type NewAccessTokenForm struct {
 | 
			
		||||
	Name string `binding:"Required"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Validate valideates the fields
 | 
			
		||||
func (f *NewAccessTokenForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 | 
			
		||||
	return validate(errs, ctx.Data, f, ctx.Locale)
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -60,7 +60,7 @@ func NewUser(ctx *context.Context) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
// 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["PageIsAdmin"] = true
 | 
			
		||||
	ctx.Data["PageIsAdminUsers"] = true
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -177,8 +177,8 @@ func Migrate(ctx *context.APIContext, form auth.MigrateRepoForm) {
 | 
			
		|||
	ctxUser := ctx.User
 | 
			
		||||
	// Not equal means context user is an organization,
 | 
			
		||||
	// or is another user/organization if current user is admin.
 | 
			
		||||
	if form.Uid != ctxUser.ID {
 | 
			
		||||
		org, err := models.GetUserByID(form.Uid)
 | 
			
		||||
	if form.UID != ctxUser.ID {
 | 
			
		||||
		org, err := models.GetUserByID(form.UID)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			if models.IsErrUserNotExist(err) {
 | 
			
		||||
				ctx.Error(422, "", err)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -89,7 +89,7 @@ func Install(ctx *context.Context) {
 | 
			
		|||
	form.Domain = setting.Domain
 | 
			
		||||
	form.SSHPort = setting.SSH.Port
 | 
			
		||||
	form.HTTPPort = setting.HTTPPort
 | 
			
		||||
	form.AppUrl = setting.AppURL
 | 
			
		||||
	form.AppURL = setting.AppURL
 | 
			
		||||
	form.LogRootPath = setting.LogRootPath
 | 
			
		||||
 | 
			
		||||
	// E-mail service settings
 | 
			
		||||
| 
						 | 
				
			
			@ -217,8 +217,8 @@ func InstallPost(ctx *context.Context, form auth.InstallForm) {
 | 
			
		|||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if form.AppUrl[len(form.AppUrl)-1] != '/' {
 | 
			
		||||
		form.AppUrl += "/"
 | 
			
		||||
	if form.AppURL[len(form.AppURL)-1] != '/' {
 | 
			
		||||
		form.AppURL += "/"
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Save settings.
 | 
			
		||||
| 
						 | 
				
			
			@ -242,7 +242,7 @@ func InstallPost(ctx *context.Context, form auth.InstallForm) {
 | 
			
		|||
	cfg.Section("").Key("RUN_USER").SetValue(form.RunUser)
 | 
			
		||||
	cfg.Section("server").Key("DOMAIN").SetValue(form.Domain)
 | 
			
		||||
	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 {
 | 
			
		||||
		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!")
 | 
			
		||||
	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
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	ctxUser := checkContextUser(ctx, form.Uid)
 | 
			
		||||
	ctxUser := checkContextUser(ctx, form.UID)
 | 
			
		||||
	if ctx.Written() {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -112,7 +112,7 @@ func CreatePost(ctx *context.Context, form auth.CreateRepoForm) {
 | 
			
		|||
	ctx.Data["Licenses"] = models.Licenses
 | 
			
		||||
	ctx.Data["Readmes"] = models.Readmes
 | 
			
		||||
 | 
			
		||||
	ctxUser := checkContextUser(ctx, form.Uid)
 | 
			
		||||
	ctxUser := checkContextUser(ctx, form.UID)
 | 
			
		||||
	if ctx.Written() {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -167,7 +167,7 @@ func Migrate(ctx *context.Context) {
 | 
			
		|||
func MigratePost(ctx *context.Context, form auth.MigrateRepoForm) {
 | 
			
		||||
	ctx.Data["Title"] = ctx.Tr("new_migrate")
 | 
			
		||||
 | 
			
		||||
	ctxUser := checkContextUser(ctx, form.Uid)
 | 
			
		||||
	ctxUser := checkContextUser(ctx, form.UID)
 | 
			
		||||
	if ctx.Written() {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue