Docs updates and default user updates

Former-commit-id: 9298fb352e71134edd6fbe2dfa171b1d9dcc4d22 [formerly c51c50f2a03869be18eec2f4d5af408902f26b6b] [formerly deff3d3ecc5912dba5f34ff02813a908e5866558 [formerly 0fc290f032f719500a983796e7e7db237a8521e2]]
Former-commit-id: c21c8881b03846d2ab689fd34c13a0b9a8ba3902 [formerly 4a390dde126112e9969774173c15b28e6ce6d98c]
Former-commit-id: de457e083b6197077641ca38c28a0446c3097963
This commit is contained in:
Henrique Dias
2017-07-20 09:52:03 +01:00
parent 885f11d324
commit 5a14eaaee0
4 changed files with 29 additions and 16 deletions

View File

@@ -127,8 +127,6 @@ type Plugin interface {
// DefaultUser is used on New, when no 'base' user is provided.
var DefaultUser = User{
Username: "admin",
Password: "admin",
AllowCommands: true,
AllowEdit: true,
AllowNew: true,
@@ -203,32 +201,34 @@ func New(database string, base User) (*FileManager, error) {
// If there are no users in the database, it creates a new one
// based on 'base' User that must be provided by the function caller.
if len(users) == 0 {
u := base
u.Username = "admin"
// Hashes the password.
pw, err := hashPassword(base.Password)
u.Password, err = hashPassword("admin")
if err != nil {
return nil, err
}
// The first user must be an administrator.
base.Admin = true
base.Password = pw
u.Admin = true
u.AllowCommands = true
u.AllowNew = true
u.AllowEdit = true
// Saves the user to the database.
if err := db.Save(&base); err != nil {
if err := db.Save(&u); err != nil {
return nil, err
}
m.Users[base.Username] = &base
m.Users[u.Username] = &u
}
// Attaches db to this File Manager instance.
m.db = db
// Create the default user, making a copy of the base.
u := base
u.Username = ""
u.Password = ""
m.DefaultUser = &u
m.DefaultUser = &base
return m, nil
}