From b293b6eaa6b305bbac2147f76d5722607e8aa04b Mon Sep 17 00:00:00 2001
From: Unknwon <joe2010xtmf@163.com>
Date: Sun, 1 Feb 2015 12:41:03 -0500
Subject: cmd: CMD option for port number of `gogs web` to prevent first time
 run conflict

- routers: use new binding convention to simplify code
- templates: able to set HTTP port number in install page
---
 modules/auth/auth.go | 7 +++++++
 1 file changed, 7 insertions(+)

(limited to 'modules/auth/auth.go')

diff --git a/modules/auth/auth.go b/modules/auth/auth.go
index 1dd96d8d..ad7ce5b9 100644
--- a/modules/auth/auth.go
+++ b/modules/auth/auth.go
@@ -9,6 +9,7 @@ import (
 	"reflect"
 	"strings"
 
+	"github.com/Unknwon/com"
 	"github.com/Unknwon/macaron"
 	"github.com/macaron-contrib/binding"
 	"github.com/macaron-contrib/session"
@@ -135,6 +136,10 @@ type Form interface {
 	binding.Validator
 }
 
+func init() {
+	binding.SetNameMapper(com.ToSnakeCase)
+}
+
 // AssignForm assign form values back to the template data.
 func AssignForm(form interface{}, data map[string]interface{}) {
 	typ := reflect.TypeOf(form)
@@ -152,6 +157,8 @@ func AssignForm(form interface{}, data map[string]interface{}) {
 		// Allow ignored fields in the struct
 		if fieldName == "-" {
 			continue
+		} else if len(fieldName) == 0 {
+			fieldName = com.ToSnakeCase(field.Name)
 		}
 
 		data[fieldName] = val.Field(i).Interface()
-- 
cgit v1.2.3