diff options
author | Unknown <joe2010xtmf@163.com> | 2014-03-08 21:25:38 -0500 |
---|---|---|
committer | Unknown <joe2010xtmf@163.com> | 2014-03-08 21:25:38 -0500 |
commit | 76ce6f98487b3754992da18969df37560e49ee82 (patch) | |
tree | 834ab9c155d06a3fba6b23831bcde24d3b8f951b /modules/auth | |
parent | 5a05d6633d413b1c5182a0a542e173f99601a103 (diff) | |
download | gitea-76ce6f98487b3754992da18969df37560e49ee82.tar.gz gitea-76ce6f98487b3754992da18969df37560e49ee82.zip |
Update repo.Create
Diffstat (limited to 'modules/auth')
-rw-r--r-- | modules/auth/form.go | 1 | ||||
-rw-r--r-- | modules/auth/repo.go | 53 |
2 files changed, 54 insertions, 0 deletions
diff --git a/modules/auth/form.go b/modules/auth/form.go index a90f3d8542..b085527554 100644 --- a/modules/auth/form.go +++ b/modules/auth/form.go @@ -17,6 +17,7 @@ import ( "github.com/gogits/gogs/modules/log" ) +// Web form interface. type Form interface { Name(field string) string } diff --git a/modules/auth/repo.go b/modules/auth/repo.go new file mode 100644 index 0000000000..6656654f56 --- /dev/null +++ b/modules/auth/repo.go @@ -0,0 +1,53 @@ +// Copyright 2014 The Gogs Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package auth + +import ( + "net/http" + "reflect" + + "github.com/codegangsta/martini" + + "github.com/gogits/binding" + + "github.com/gogits/gogs/modules/base" + "github.com/gogits/gogs/modules/log" +) + +type CreateRepoForm struct { + UserId int64 `form:"userId"` + RepoName string `form:"repo" binding:"Required"` + Visibility string `form:"visibility"` + Description string `form:"desc" binding:"MaxSize(100)"` + Language string `form:"language"` + InitReadme string `form:"initReadme"` +} + +func (f *CreateRepoForm) Name(field string) string { + names := map[string]string{ + "RepoName": "Repository name", + "Description": "Description", + } + return names[field] +} + +func (f *CreateRepoForm) Validate(errors *binding.Errors, req *http.Request, context martini.Context) { + if req.Method == "GET" || errors.Count() == 0 { + return + } + + data := context.Get(reflect.TypeOf(base.TmplData{})).Interface().(base.TmplData) + data["HasError"] = true + AssignForm(f, data) + + if len(errors.Overall) > 0 { + for _, err := range errors.Overall { + log.Error("CreateRepoForm.Validate: %v", err) + } + return + } + + validate(errors, data, f) +} |