#1443 set first user to be admin

...not just ID=1
release/v1.15
Unknwon 2015-08-07 00:00:11 +08:00
parent 9ba0d8b87a
commit d922b7e504
1 changed files with 9 additions and 5 deletions

View File

@ -314,19 +314,23 @@ func CreateUser(u *User) (err error) {
return err return err
} }
// Auto-set admin for user whose ID is 1. // Auto-set admin for the first user.
if u.Id == 1 { if countUsers(sess) == 1 {
u.IsAdmin = true u.IsAdmin = true
u.IsActive = true u.IsActive = true
_, err = x.Id(u.Id).UseBool().Update(u) _, err = x.Id(u.Id).AllCols().Update(u)
} }
return err return err
} }
func countUsers(e Engine) int64 {
count, _ := e.Where("type=0").Count(new(User))
return count
}
// CountUsers returns number of users. // CountUsers returns number of users.
func CountUsers() int64 { func CountUsers() int64 {
count, _ := x.Where("type=0").Count(new(User)) return countUsers(x)
return count
} }
// GetUsers returns given number of user objects with offset. // GetUsers returns given number of user objects with offset.