@@ -14,7 +14,6 @@ import (
1414 "errors"
1515 "fmt"
1616 _ "image/jpeg" // Needed for jpeg support
17- "net/mail"
1817 "os"
1918 "path/filepath"
2019 "regexp"
@@ -809,9 +808,8 @@ func CreateUser(u *User) (err error) {
809808 return ErrEmailAlreadyUsed {u .Email }
810809 }
811810
812- _ , err = mail .ParseAddress (u .Email )
813- if err != nil {
814- return ErrEmailInvalid {u .Email }
811+ if err = ValidateEmail (u .Email ); err != nil {
812+ return err
815813 }
816814
817815 isExist , err = isEmailUsed (sess , u .Email )
@@ -956,11 +954,10 @@ func checkDupEmail(e Engine, u *User) error {
956954 return nil
957955}
958956
959- func updateUser (e Engine , u * User ) error {
957+ func updateUser (e Engine , u * User ) ( err error ) {
960958 u .Email = strings .ToLower (u .Email )
961- _ , err := mail .ParseAddress (u .Email )
962- if err != nil {
963- return ErrEmailInvalid {u .Email }
959+ if err = ValidateEmail (u .Email ); err != nil {
960+ return err
964961 }
965962 _ , err = e .ID (u .ID ).AllCols ().Update (u )
966963 return err
@@ -982,13 +979,21 @@ func updateUserCols(e Engine, u *User, cols ...string) error {
982979}
983980
984981// UpdateUserSetting updates user's settings.
985- func UpdateUserSetting (u * User ) error {
982+ func UpdateUserSetting (u * User ) (err error ) {
983+ sess := x .NewSession ()
984+ defer sess .Close ()
985+ if err = sess .Begin (); err != nil {
986+ return err
987+ }
986988 if ! u .IsOrganization () {
987- if err : = checkDupEmail (x , u ); err != nil {
989+ if err = checkDupEmail (sess , u ); err != nil {
988990 return err
989991 }
990992 }
991- return updateUser (x , u )
993+ if err = updateUser (sess , u ); err != nil {
994+ return err
995+ }
996+ return sess .Commit ()
992997}
993998
994999// deleteBeans deletes all given beans, beans should contain delete conditions.
0 commit comments