2014-03-09 06:25:38 +04:00
// 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"
2014-03-30 20:11:28 +04:00
"github.com/go-martini/martini"
2014-03-09 06:25:38 +04:00
"github.com/gogits/gogs/modules/base"
"github.com/gogits/gogs/modules/log"
2014-05-05 10:42:52 +04:00
"github.com/gogits/gogs/modules/middleware/binding"
2014-03-09 06:25:38 +04:00
)
type CreateRepoForm struct {
2014-03-11 08:53:53 +04:00
RepoName string ` form:"repo" binding:"Required;AlphaDash" `
2014-04-13 04:35:35 +04:00
Private bool ` form:"private" `
2014-03-09 06:25:38 +04:00
Description string ` form:"desc" binding:"MaxSize(100)" `
Language string ` form:"language" `
2014-03-11 09:32:36 +04:00
License string ` form:"license" `
2014-04-13 04:35:35 +04:00
InitReadme bool ` form:"initReadme" `
2014-03-09 06:25:38 +04:00
}
func ( f * CreateRepoForm ) Name ( field string ) string {
names := map [ string ] string {
"RepoName" : "Repository name" ,
"Description" : "Description" ,
}
return names [ field ]
}
2014-05-05 10:42:52 +04:00
func ( f * CreateRepoForm ) Validate ( errors * binding . BindingErrors , req * http . Request , context martini . Context ) {
2014-03-09 06:25:38 +04:00
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 )
}
2014-04-13 04:35:35 +04:00
type MigrateRepoForm struct {
Url string ` form:"url" binding:"Url" `
AuthUserName string ` form:"auth_username" `
AuthPasswd string ` form:"auth_password" `
RepoName string ` form:"repo" binding:"Required;AlphaDash" `
Mirror bool ` form:"mirror" `
Private bool ` form:"private" `
Description string ` form:"desc" binding:"MaxSize(100)" `
}
func ( f * MigrateRepoForm ) Name ( field string ) string {
names := map [ string ] string {
"Url" : "Migration URL" ,
"RepoName" : "Repository name" ,
"Description" : "Description" ,
}
return names [ field ]
}
2014-05-05 10:42:52 +04:00
func ( f * MigrateRepoForm ) Validate ( errors * binding . BindingErrors , req * http . Request , context martini . Context ) {
2014-04-13 04:35:35 +04:00
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 ( "MigrateRepoForm.Validate: %v" , err )
}
return
}
validate ( errors , data , f )
}