Update
This commit is contained in:
		
							parent
							
								
									fea660f1d7
								
							
						
					
					
						commit
						e59f90b8fe
					
				
					 10 changed files with 45 additions and 29 deletions
				
			
		|  | @ -1,4 +1,4 @@ | ||||||
| APP_NAME = Gogs - Go Git Service | APP_NAME = Gogs: Go Git Service | ||||||
| RUN_USER = lunny | RUN_USER = lunny | ||||||
| 
 | 
 | ||||||
| [repository] | [repository] | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							|  | @ -19,7 +19,7 @@ import ( | ||||||
| // Test that go1.1 tag above is included in builds. main.go refers to this definition.
 | // Test that go1.1 tag above is included in builds. main.go refers to this definition.
 | ||||||
| const go11tag = true | const go11tag = true | ||||||
| 
 | 
 | ||||||
| const APP_VER = "0.0.0.0301" | const APP_VER = "0.0.0.0303" | ||||||
| 
 | 
 | ||||||
| func init() { | func init() { | ||||||
| 	runtime.GOMAXPROCS(runtime.NumCPU()) | 	runtime.GOMAXPROCS(runtime.NumCPU()) | ||||||
|  |  | ||||||
|  | @ -34,7 +34,7 @@ const ( | ||||||
| type User struct { | type User struct { | ||||||
| 	Id            int64 | 	Id            int64 | ||||||
| 	LowerName     string `xorm:"unique not null"` | 	LowerName     string `xorm:"unique not null"` | ||||||
| 	Name          string `xorm:"unique not null" valid:"Required"` | 	Name          string `xorm:"unique not null" valid:"AlphaDash;MinSize(5);MaxSize(30)"` | ||||||
| 	Email         string `xorm:"unique not null" valid:"Email"` | 	Email         string `xorm:"unique not null" valid:"Email"` | ||||||
| 	Passwd        string `xorm:"not null" valid:"MinSize(8)"` | 	Passwd        string `xorm:"not null" valid:"MinSize(8)"` | ||||||
| 	LoginType     int | 	LoginType     int | ||||||
|  |  | ||||||
|  | @ -14,6 +14,7 @@ import ( | ||||||
| 	"github.com/gogits/validation" | 	"github.com/gogits/validation" | ||||||
| 
 | 
 | ||||||
| 	"github.com/gogits/gogs/models" | 	"github.com/gogits/gogs/models" | ||||||
|  | 	"github.com/gogits/gogs/utils/auth" | ||||||
| 	"github.com/gogits/gogs/utils/log" | 	"github.com/gogits/gogs/utils/log" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  | @ -50,18 +51,19 @@ func SignIn(req *http.Request, r render.Render, session sessions.Session) { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func SignUp(req *http.Request, r render.Render) { | func SignUp(req *http.Request, r render.Render) { | ||||||
|  | 	data := map[string]interface{}{"Title": "Sign Up"} | ||||||
| 	if req.Method == "GET" { | 	if req.Method == "GET" { | ||||||
| 		r.HTML(200, "user/signup", map[string]interface{}{ | 		r.HTML(200, "user/signup", data) | ||||||
| 			"Title": "Sign Up", |  | ||||||
| 		}) |  | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	// Front-end should do double check of password.
 | ||||||
| 	u := &models.User{ | 	u := &models.User{ | ||||||
| 		Name:   req.FormValue("username"), | 		Name:   req.FormValue("username"), | ||||||
| 		Email:  req.FormValue("email"), | 		Email:  req.FormValue("email"), | ||||||
| 		Passwd: req.FormValue("passwd"), | 		Passwd: req.FormValue("passwd"), | ||||||
| 	} | 	} | ||||||
|  | 
 | ||||||
| 	valid := validation.Validation{} | 	valid := validation.Validation{} | ||||||
| 	ok, err := valid.Valid(u) | 	ok, err := valid.Valid(u) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
|  | @ -69,23 +71,21 @@ func SignUp(req *http.Request, r render.Render) { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 	if !ok { | 	if !ok { | ||||||
| 		for _, err := range valid.Errors { | 		data["HasError"] = true | ||||||
| 			log.Warn("user.SignUp -> valid user: %v", err) | 		data["ErrorMsg"] = auth.GenerateErrorMsg(valid.Errors[0]) | ||||||
| 		} | 		r.HTML(200, "user/signup", data) | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	err = models.RegisterUser(u) | 	// err = models.RegisterUser(u)
 | ||||||
| 	if err != nil { | 	// if err != nil {
 | ||||||
| 		if err != nil { | 	// 	r.HTML(200, "base/error", map[string]interface{}{
 | ||||||
| 			r.HTML(200, "base/error", map[string]interface{}{ | 	// 		"Error": fmt.Sprintf("%v", err),
 | ||||||
| 				"Error": fmt.Sprintf("%v", err), | 	// 	})
 | ||||||
| 			}) | 	// 	return
 | ||||||
| 			return | 	// }
 | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 
 | 
 | ||||||
| 	r.Redirect("/") | 	// r.Redirect("/")
 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func Delete(req *http.Request, r render.Render) { | func Delete(req *http.Request, r render.Render) { | ||||||
|  |  | ||||||
|  | @ -16,7 +16,7 @@ | ||||||
| 		<script src="/js/jquery-1.10.1.min.js"></script> | 		<script src="/js/jquery-1.10.1.min.js"></script> | ||||||
| 		<script src="/js/bootstrap.min.js"></script> | 		<script src="/js/bootstrap.min.js"></script> | ||||||
|         <script src="/js/app.js"></script> |         <script src="/js/app.js"></script> | ||||||
| 		<title>{{.Title}} | {{AppName}}</title> | 		<title>{{.Title}} - {{AppName}}</title> | ||||||
| 	</head> | 	</head> | ||||||
| 	<body> | 	<body> | ||||||
| 		<noscript>Please enable JavaScript in your browser!</noscript> | 		<noscript>Please enable JavaScript in your browser!</noscript> | ||||||
|  | @ -7,7 +7,7 @@ | ||||||
|             <a class="gogs-nav-item" href="#">Help</a> |             <a class="gogs-nav-item" href="#">Help</a> | ||||||
| 
 | 
 | ||||||
|             <!--<a class="gogs-nav-item navbar-right navbar-btn btn btn-danger" href="/login/">Sign in</a>--> |             <!--<a class="gogs-nav-item navbar-right navbar-btn btn btn-danger" href="/login/">Sign in</a>--> | ||||||
|             <a id="gogs-nav-out" class="gogs-nav-item navbar-right navbar-btn btn btn-danger" href="/login/"><i class="fa fa-power-off fa-lg"></i></a> |             <a id="gogs-nav-out" class="gogs-nav-item navbar-right navbar-btn btn btn-danger" href="/user/login/"><i class="fa fa-power-off fa-lg"></i></a> | ||||||
|             <a id="gogs-nav-avatar" class="gogs-nav-item navbar-right" href="/user/profile" data-toggle="tooltip" data-placement="bottom" title="Username"> |             <a id="gogs-nav-avatar" class="gogs-nav-item navbar-right" href="/user/profile" data-toggle="tooltip" data-placement="bottom" title="Username"> | ||||||
|                 <img src="http://1.gravatar.com/avatar/x?s=28" alt="user-avatar" title="username"/> |                 <img src="http://1.gravatar.com/avatar/x?s=28" alt="user-avatar" title="username"/> | ||||||
|             </a> |             </a> | ||||||
|  |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| {{template "base/head" .}} | {{template "base/head" .}} | ||||||
| {{template "base/navbar" .}} | {{template "base/navbar" .}} | ||||||
| <div class="container" id="gogs-body"> | <div class="container" id="gogs-body"> | ||||||
|     <form action="/user/signin" method="post" class="form-horizontal gogs-card" id="gogs-login-card"> |     <form action="/user/login" method="post" class="form-horizontal gogs-card" id="gogs-login-card"> | ||||||
|         <h3>Log in</h3>{{if .Error}} |         <h3>Log in</h3>{{if .Error}} | ||||||
|         <div class="form-group"> |         <div class="form-group"> | ||||||
|             <div class="col-md-6 col-md-offset-3 alert alert-danger text-center"><strong>{{.Error}}</strong></div> |             <div class="col-md-6 col-md-offset-3 alert alert-danger text-center"><strong>{{.Error}}</strong></div> | ||||||
|  | @ -26,7 +26,7 @@ | ||||||
|         </div> |         </div> | ||||||
|         <div class="form-group"> |         <div class="form-group"> | ||||||
|             <div class="col-md-offset-4 col-md-6"> |             <div class="col-md-offset-4 col-md-6"> | ||||||
|                 <a href="/sign-up/">Need an account? Sign up free.</a> |                 <a href="/user/sign_up">Need an account? Sign up free.</a> | ||||||
|             </div> |             </div> | ||||||
|         </div> |         </div> | ||||||
|         <div class="form-group text-center" id="gogs-social-login"> |         <div class="form-group text-center" id="gogs-social-login"> | ||||||
|  |  | ||||||
|  | @ -1,8 +1,11 @@ | ||||||
| {{template "base/head" .}} | {{template "base/head" .}} | ||||||
| {{template "base/navbar" .}} | {{template "base/navbar" .}} | ||||||
| <div class="container" id="gogs-body"> | <div class="container" id="gogs-body"> | ||||||
| 	<form action="/user/signup" method="post" class="form-horizontal gogs-card" id="gogs-login-card"> | 	<form action="/user/sign_up" method="post" class="form-horizontal gogs-card" id="gogs-login-card"> | ||||||
|         <h3>Sign Up</h3> |         <h3>Sign Up</h3> | ||||||
|  | 	{{if .HasError}} | ||||||
|  | 	<div class="alert alert-danger">{{.ErrorMsg}}</div> | ||||||
|  | 	{{end}} | ||||||
| 		<div class="form-group"> | 		<div class="form-group"> | ||||||
| 			<label class="col-md-4 control-label">Username: </label> | 			<label class="col-md-4 control-label">Username: </label> | ||||||
| 			<div class="col-md-6"> | 			<div class="col-md-6"> | ||||||
|  | @ -37,7 +40,7 @@ | ||||||
| 
 | 
 | ||||||
| 	    <div class="form-group"> | 	    <div class="form-group"> | ||||||
|             <div class="col-md-offset-4 col-md-6"> |             <div class="col-md-offset-4 col-md-6"> | ||||||
|                 <a href="/login/">Already have an account? Sign in now!</a> |                 <a href="/user/login">Already have an account? Sign in now!</a> | ||||||
|             </div> |             </div> | ||||||
| 	    </div> | 	    </div> | ||||||
| 	</form> | 	</form> | ||||||
|  |  | ||||||
							
								
								
									
										15
									
								
								utils/auth/auth.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								utils/auth/auth.go
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,15 @@ | ||||||
|  | // 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 ( | ||||||
|  | 	"fmt" | ||||||
|  | 
 | ||||||
|  | 	"github.com/gogits/validation" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | func GenerateErrorMsg(e *validation.ValidationError) string { | ||||||
|  | 	return fmt.Sprintf("%v", e.LimitValue) | ||||||
|  | } | ||||||
							
								
								
									
										6
									
								
								web.go
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								web.go
									
									
									
									
									
								
							|  | @ -53,11 +53,9 @@ func runWeb(*cli.Context) { | ||||||
| 
 | 
 | ||||||
| 	// Routers.
 | 	// Routers.
 | ||||||
| 	m.Get("/", routers.Dashboard) | 	m.Get("/", routers.Dashboard) | ||||||
| 	m.Any("/login", user.SignIn) | 	m.Any("/user/login", user.SignIn) | ||||||
| 	m.Any("/user/signin", user.SignIn) |  | ||||||
| 
 | 
 | ||||||
| 	m.Any("/sign-up", user.SignUp) | 	m.Any("/user/sign_up", user.SignUp) | ||||||
| 	m.Any("/user/signup", user.SignUp) |  | ||||||
| 
 | 
 | ||||||
| 	m.Get("/user/profile", user.Profile) // should be /username
 | 	m.Get("/user/profile", user.Profile) // should be /username
 | ||||||
| 	m.Any("/user/delete", user.Delete) | 	m.Any("/user/delete", user.Delete) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue