From 2a1dc0085b9f7236082f3885fa594ec12d5b0211 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 1 May 2014 07:35:21 -0400 Subject: fix #91 --- modules/auth/auth.go | 4 +++- modules/base/base.go | 1 + modules/middleware/binding.go | 12 +++++++++--- 3 files changed, 13 insertions(+), 4 deletions(-) (limited to 'modules') diff --git a/modules/auth/auth.go b/modules/auth/auth.go index e493faef..85df42d8 100644 --- a/modules/auth/auth.go +++ b/modules/auth/auth.go @@ -21,7 +21,7 @@ type Form interface { } type RegisterForm struct { - UserName string `form:"username" binding:"Required;AlphaDash;MaxSize(30)"` + UserName string `form:"username" binding:"Required;AlphaDashDot;MaxSize(30)"` Email string `form:"email" binding:"Required;Email;MaxSize(50)"` Password string `form:"passwd" binding:"Required;MinSize(6);MaxSize(30)"` RetypePasswd string `form:"retypepasswd"` @@ -123,6 +123,8 @@ func validate(errors *base.BindingErrors, data base.TmplData, form Form) { data["ErrorMsg"] = form.Name(field.Name) + " cannot be empty" case base.BindingAlphaDashError: data["ErrorMsg"] = form.Name(field.Name) + " must be valid alpha or numeric or dash(-_) characters" + case base.BindingAlphaDashDotError: + data["ErrorMsg"] = form.Name(field.Name) + " must be valid alpha or numeric or dash(-_) or dot characters" case base.BindingMinSizeError: data["ErrorMsg"] = form.Name(field.Name) + " must contain at least " + getMinMaxSize(field) + " characters" case base.BindingMaxSizeError: diff --git a/modules/base/base.go b/modules/base/base.go index 3e80a436..e6befb83 100644 --- a/modules/base/base.go +++ b/modules/base/base.go @@ -45,6 +45,7 @@ func (this *BindingErrors) Combine(other BindingErrors) { const ( BindingRequireError string = "Required" BindingAlphaDashError string = "AlphaDash" + BindingAlphaDashDotError string = "AlphaDashDot" BindingMinSizeError string = "MinSize" BindingMaxSizeError string = "MaxSize" BindingEmailError string = "Email" diff --git a/modules/middleware/binding.go b/modules/middleware/binding.go index cde9ae9c..bff34ddd 100644 --- a/modules/middleware/binding.go +++ b/modules/middleware/binding.go @@ -180,9 +180,10 @@ func Validate(obj interface{}) martini.Handler { } var ( - alphaDashPattern = regexp.MustCompile("[^\\d\\w-_]") - emailPattern = regexp.MustCompile("[\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[a-zA-Z0-9](?:[\\w-]*[\\w])?") - urlPattern = regexp.MustCompile(`(http|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?`) + alphaDashPattern = regexp.MustCompile("[^\\d\\w-_]") + alphaDashDotPattern = regexp.MustCompile("[^\\d\\w-_\\.]") + emailPattern = regexp.MustCompile("[\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[a-zA-Z0-9](?:[\\w-]*[\\w])?") + urlPattern = regexp.MustCompile(`(http|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?`) ) func validateStruct(errors *base.BindingErrors, obj interface{}) { @@ -227,6 +228,11 @@ func validateStruct(errors *base.BindingErrors, obj interface{}) { errors.Fields[field.Name] = base.BindingAlphaDashError break } + case rule == "AlphaDashDot": + if alphaDashDotPattern.MatchString(fmt.Sprintf("%v", fieldValue)) { + errors.Fields[field.Name] = base.BindingAlphaDashDotError + break + } case strings.HasPrefix(rule, "MinSize("): min, err := strconv.Atoi(rule[8 : len(rule)-1]) if err != nil { -- cgit v1.2.3 From d0ea4c7b686a200af3eca3847909b515c40539ee Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 1 May 2014 07:59:09 -0400 Subject: Fix #149 --- modules/auth/auth.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules') diff --git a/modules/auth/auth.go b/modules/auth/auth.go index 85df42d8..96e3868f 100644 --- a/modules/auth/auth.go +++ b/modules/auth/auth.go @@ -176,7 +176,7 @@ type InstallForm struct { RunUser string `form:"run_user"` Domain string `form:"domain"` AppUrl string `form:"app_url"` - AdminName string `form:"admin_name" binding:"Required"` + AdminName string `form:"admin_name" binding:"Required;AlphaDashDot;MaxSize(30)"` AdminPasswd string `form:"admin_pwd" binding:"Required;MinSize(6);MaxSize(30)"` AdminEmail string `form:"admin_email" binding:"Required;Email;MaxSize(50)"` SmtpHost string `form:"smtp_host"` -- cgit v1.2.3 From 89c99167b2916a36ef112125662e014ca5b9da26 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 1 May 2014 08:26:41 -0400 Subject: Fix #149 --- models/user.go | 1 + modules/auth/user.go | 1 + routers/user/setting.go | 1 + templates/user/profile.tmpl | 1 + templates/user/setting.tmpl | 7 +++++++ 5 files changed, 11 insertions(+) (limited to 'modules') diff --git a/models/user.go b/models/user.go index 6751d11d..42b3ebe6 100644 --- a/models/user.go +++ b/models/user.go @@ -46,6 +46,7 @@ type User struct { Id int64 LowerName string `xorm:"unique not null"` Name string `xorm:"unique not null"` + FullName string Email string `xorm:"unique not null"` Passwd string `xorm:"not null"` LoginType int diff --git a/modules/auth/user.go b/modules/auth/user.go index 97389422..8d60670d 100644 --- a/modules/auth/user.go +++ b/modules/auth/user.go @@ -75,6 +75,7 @@ type FeedsForm struct { type UpdateProfileForm struct { UserName string `form:"username" binding:"Required;AlphaDash;MaxSize(30)"` + FullName string `form:"fullname" binding:"MaxSize(40)"` Email string `form:"email" binding:"Required;Email;MaxSize(50)"` Website string `form:"website" binding:"MaxSize(50)"` Location string `form:"location" binding:"MaxSize(50)"` diff --git a/routers/user/setting.go b/routers/user/setting.go index a55e617f..f62e9310 100644 --- a/routers/user/setting.go +++ b/routers/user/setting.go @@ -54,6 +54,7 @@ func SettingPost(ctx *middleware.Context, form auth.UpdateProfileForm) { user.Name = form.UserName } + user.FullName = form.FullName user.Email = form.Email user.Website = form.Website user.Location = form.Location diff --git a/templates/user/profile.tmpl b/templates/user/profile.tmpl index 15d2a0bd..43ecabfa 100644 --- a/templates/user/profile.tmpl +++ b/templates/user/profile.tmpl @@ -6,6 +6,7 @@ user-avatar + {{if .Owner.FullName}}{{.Owner.FullName}}{{end}} {{.Owner.Name}}
diff --git a/templates/user/setting.tmpl b/templates/user/setting.tmpl index 56d859fe..bdcf9ce3 100644 --- a/templates/user/setting.tmpl +++ b/templates/user/setting.tmpl @@ -17,6 +17,13 @@
+
+ +
+ +
+
+
-- cgit v1.2.3