diff options
author | Unknown <joe2010xtmf@163.com> | 2014-03-19 08:27:27 -0400 |
---|---|---|
committer | Unknown <joe2010xtmf@163.com> | 2014-03-19 08:27:27 -0400 |
commit | de087c7b4a31cb0643d5432ec9d6b26e208baff2 (patch) | |
tree | d85449d68cea28a6e208dc1a56acda1a50b82a10 /models | |
parent | fbbae2b721c04be740d67b9d227a7578030f93b9 (diff) |
Add send register confirm mail
Diffstat (limited to 'models')
-rw-r--r-- | models/user.go | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/models/user.go b/models/user.go index 579f6a74..5f08f9e9 100644 --- a/models/user.go +++ b/models/user.go @@ -105,19 +105,19 @@ func GetUserSalt() string { } // RegisterUser creates record of a new user. -func RegisterUser(user *User) (err error) { +func RegisterUser(user *User) (*User, error) { isExist, err := IsUserExist(user.Name) if err != nil { - return err + return nil, err } else if isExist { - return ErrUserAlreadyExist + return nil, ErrUserAlreadyExist } isExist, err = IsEmailUsed(user.Email) if err != nil { - return err + return nil, err } else if isExist { - return ErrEmailAlreadyUsed + return nil, ErrEmailAlreadyUsed } user.LowerName = strings.ToLower(user.Name) @@ -126,22 +126,17 @@ func RegisterUser(user *User) (err error) { user.Expired = time.Now().Add(3 * 24 * time.Hour) user.Rands = GetUserSalt() if err = user.EncodePasswd(); err != nil { - return err + return nil, err } else if _, err = orm.Insert(user); err != nil { - return err + return nil, err } else if err = os.MkdirAll(UserPath(user.Name), os.ModePerm); err != nil { if _, err := orm.Id(user.Id).Delete(&User{}); err != nil { - return errors.New(fmt.Sprintf( + return nil, errors.New(fmt.Sprintf( "both create userpath %s and delete table record faild: %v", user.Name, err)) } - return err - } - - // Send confirmation e-mail. - if base.Service.RegisterEmailConfitm { - + return nil, err } - return nil + return user, nil } // UpdateUser updates user's information. |