From 533880860069ca95fba44732721fef3434e1ec99 Mon Sep 17 00:00:00 2001 From: Unknwon Date: Sun, 30 Nov 2014 18:29:16 -0500 Subject: fix #676 --- models/user.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'models') diff --git a/models/user.go b/models/user.go index 61a43ba9bf..5c6101e62c 100644 --- a/models/user.go +++ b/models/user.go @@ -417,6 +417,13 @@ func ChangeUserName(u *User, newUserName string) (err error) { // UpdateUser updates user's information. func UpdateUser(u *User) error { + has, err := x.Where("id != ?", u.Id).And("email = ?", u.Email).Get(new(User)) + if err != nil { + return err + } else if has { + return ErrEmailAlreadyUsed + } + u.LowerName = strings.ToLower(u.Name) if len(u.Location) > 255 { @@ -429,7 +436,7 @@ func UpdateUser(u *User) error { u.Description = u.Description[:255] } - _, err := x.Id(u.Id).AllCols().Update(u) + _, err = x.Id(u.Id).AllCols().Update(u) return err } -- cgit v1.2.3