diff options
author | Unknwon <u@gogs.io> | 2015-02-22 18:24:49 -0500 |
---|---|---|
committer | Unknwon <u@gogs.io> | 2015-02-22 18:24:49 -0500 |
commit | 04164eada3bc89bb3b54aa3dea0f22203ff4aa6e (patch) | |
tree | 8c66bfea48dc2f1fc9638c212477d26fb807a743 /models | |
parent | 74a8bb93d84a75fae46cd40f2b670073bee5a593 (diff) | |
download | gitea-04164eada3bc89bb3b54aa3dea0f22203ff4aa6e.tar.gz gitea-04164eada3bc89bb3b54aa3dea0f22203ff4aa6e.zip |
models: able to rename user with diff letter cases #981
- templates/org: mirror fix on name output
- routers: add missing error check
Diffstat (limited to 'models')
-rw-r--r-- | models/org.go | 2 | ||||
-rw-r--r-- | models/user.go | 14 |
2 files changed, 11 insertions, 5 deletions
diff --git a/models/org.go b/models/org.go index 3d37a37d69..b2f9c903a4 100644 --- a/models/org.go +++ b/models/org.go @@ -93,7 +93,7 @@ func CreateOrganization(org, owner *User) (*User, error) { return nil, ErrUserNameIllegal } - isExist, err := IsUserExist(org.Name) + isExist, err := IsUserExist(0, org.Name) if err != nil { return nil, err } else if isExist { diff --git a/models/user.go b/models/user.go index 9f9b0cd7fc..a974e081f1 100644 --- a/models/user.go +++ b/models/user.go @@ -249,11 +249,13 @@ func (u *User) GetFullNameFallback() string { // IsUserExist checks if given user name exist, // the user name should be noncased unique. -func IsUserExist(name string) (bool, error) { +// If uid is presented, then check will rule out that one, +// it is used when update a user name in settings page. +func IsUserExist(uid int64, name string) (bool, error) { if len(name) == 0 { return false, nil } - return x.Get(&User{LowerName: strings.ToLower(name)}) + return x.Where("id!=?", uid).Get(&User{LowerName: strings.ToLower(name)}) } // IsEmailUsed returns true if the e-mail has been used. @@ -278,7 +280,7 @@ func CreateUser(u *User) error { return ErrUserNameIllegal } - isExist, err := IsUserExist(u.Name) + isExist, err := IsUserExist(0, u.Name) if err != nil { return err } else if isExist { @@ -397,6 +399,10 @@ func ChangeUserName(u *User, newUserName string) (err error) { } newUserName = strings.ToLower(newUserName) + if u.LowerName == newUserName { + // User only change letter cases. + return nil + } // Update accesses of user. accesses := make([]Access, 0, 10) @@ -453,7 +459,7 @@ 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("type=?", INDIVIDUAL).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 { return err } else if has { |