#1299 force downcase e-mail

This commit is contained in:
Unknwon 2015-08-05 17:36:22 +08:00
parent e50982f5ec
commit b9527cd1bf
2 changed files with 16 additions and 8 deletions

View file

@ -258,6 +258,8 @@ func IsEmailUsed(email string) (bool, error) {
if len(email) == 0 { if len(email) == 0 {
return false, nil return false, nil
} }
email = strings.ToLower(email)
if has, err := x.Get(&EmailAddress{Email: email}); has || err != nil { if has, err := x.Get(&EmailAddress{Email: email}); has || err != nil {
return has, err return has, err
} }
@ -405,6 +407,7 @@ func ChangeUserName(u *User, newUserName string) (err error) {
// UpdateUser updates user's information. // UpdateUser updates user's information.
func UpdateUser(u *User) error { func UpdateUser(u *User) error {
u.Email = strings.ToLower(u.Email)
has, err := x.Where("id!=?", u.Id).And("type=?", u.Type).And("email=?", u.Email).Get(new(User)) has, err := x.Where("id!=?", u.Id).And("type=?", u.Type).And("email=?", u.Email).Get(new(User))
if err != nil { if err != nil {
return err return err
@ -641,6 +644,7 @@ func GetEmailAddresses(uid int64) ([]*EmailAddress, error) {
} }
func AddEmailAddress(email *EmailAddress) error { func AddEmailAddress(email *EmailAddress) error {
email.Email = strings.ToLower(email.Email)
used, err := IsEmailUsed(email.Email) used, err := IsEmailUsed(email.Email)
if err != nil { if err != nil {
return err return err
@ -674,7 +678,7 @@ func DeleteEmailAddress(email *EmailAddress) error {
return ErrEmailNotExist return ErrEmailNotExist
} }
if _, err = x.Delete(email); err != nil { if _, err = x.Id(email.Id).Delete(email); err != nil {
return err return err
} }
@ -736,13 +740,15 @@ func ValidateCommitWithEmail(c *git.Commit) *User {
// ValidateCommitsWithEmails checks if authors' e-mails of commits are corresponding to users. // ValidateCommitsWithEmails checks if authors' e-mails of commits are corresponding to users.
func ValidateCommitsWithEmails(oldCommits *list.List) *list.List { func ValidateCommitsWithEmails(oldCommits *list.List) *list.List {
emails := map[string]*User{} var (
newCommits := list.New() u *User
e := oldCommits.Front() emails = map[string]*User{}
newCommits = list.New()
e = oldCommits.Front()
)
for e != nil { for e != nil {
c := e.Value.(*git.Commit) c := e.Value.(*git.Commit)
var u *User
if v, ok := emails[c.Author.Email]; !ok { if v, ok := emails[c.Author.Email]; !ok {
u, _ = GetUserByEmail(c.Author.Email) u, _ = GetUserByEmail(c.Author.Email)
emails[c.Author.Email] = u emails[c.Author.Email] = u
@ -764,8 +770,10 @@ func GetUserByEmail(email string) (*User, error) {
if len(email) == 0 { if len(email) == 0 {
return nil, ErrUserNotExist{0, "email"} return nil, ErrUserNotExist{0, "email"}
} }
email = strings.ToLower(email)
// First try to find the user by primary email // First try to find the user by primary email
user := &User{Email: strings.ToLower(email)} user := &User{Email: email}
has, err := x.Get(user) has, err := x.Get(user)
if err != nil { if err != nil {
return nil, err return nil, err
@ -775,7 +783,7 @@ func GetUserByEmail(email string) (*User, error) {
} }
// Otherwise, check in alternative list for activated email addresses // Otherwise, check in alternative list for activated email addresses
emailAddress := &EmailAddress{Email: strings.ToLower(email), IsActivated: true} emailAddress := &EmailAddress{Email: email, IsActivated: true}
has, err = x.Get(emailAddress) has, err = x.Get(emailAddress)
if err != nil { if err != nil {
return nil, err return nil, err

View file

@ -297,7 +297,7 @@ var Gogits = {};
} else { } else {
$(selector).zclip({ $(selector).zclip({
path: Gogs.AppSubUrl + "/js/ZeroClipboard.swf", path: Gogits.AppSubUrl + "/js/ZeroClipboard.swf",
copy: function () { copy: function () {
var t = $(this).data("copy-val"); var t = $(this).data("copy-val");
var to = $($(this).data("copy-from")); var to = $($(this).data("copy-from"));