This commit is contained in:
afeiszli
2022-09-14 09:58:01 -04:00
parent e340b49aa8
commit 8a1ba674a7
5 changed files with 34 additions and 3 deletions

View File

@@ -95,7 +95,7 @@ func getNetworkUserData(w http.ResponseWriter, r *http.Request) {
Clients: netUser.Clients,
}
// check network level permissions
if doesNetworkAllow := pro.IsUserAllowed(&networks[i], networkUserName, u.Groups); doesNetworkAllow {
if doesNetworkAllow := pro.IsUserAllowed(&networks[i], networkUserName, u.Groups); doesNetworkAllow || netUser.AccessLevel == pro.NET_ADMIN {
netNodes, err := logic.GetNetworkNodes(netID)
if err != nil {
logger.Log(0, "failed to retrieve nodes on network", netID, "for user", string(netUser.ID))

View File

@@ -103,6 +103,8 @@ func CreateUser(user models.User) (models.User, error) {
return user, err
}
SetUserDefaults(&user)
// connect db
data, err := json.Marshal(&user)
if err != nil {

View File

@@ -13,7 +13,7 @@ func AddProNetDefaults(network *models.Network) {
DefaultUserNodeLimit: 0,
DefaultUserClientLimit: 0,
AllowedUsers: []string{},
AllowedGroups: []string{},
AllowedGroups: []string{DEFAULT_ALLOWED_GROUPS},
}
network.ProSettings = &newProSettings
}
@@ -21,7 +21,7 @@ func AddProNetDefaults(network *models.Network) {
network.ProSettings.AllowedUsers = []string{}
}
if network.ProSettings.AllowedGroups == nil {
network.ProSettings.AllowedGroups = []string{}
network.ProSettings.AllowedGroups = []string{DEFAULT_ALLOWED_GROUPS}
}
}

View File

@@ -70,3 +70,10 @@ func InitializeNetUsers(network *models.Network) error {
}
return nil
}
// SetUserDefaults - sets the defaults of a user to avoid empty fields
func SetUserDefaults(user *models.User) {
if user.Groups == nil {
user.Groups = []string{pro.DEFAULT_ALLOWED_GROUPS}
}
}

View File

@@ -94,6 +94,10 @@ func SetDefaults() error {
return err
}
if err := setUserDefaults(); err != nil {
return err
}
return nil
}
@@ -135,3 +139,21 @@ func setNetworkDefaults() error {
}
return nil
}
func setUserDefaults() error {
users, err := logic.GetUsers()
if err != nil && !database.IsEmptyRecord(err) {
return err
}
for _, user := range users {
updateUser, err := logic.GetUser(user.UserName)
if err != nil {
logger.Log(0, "could not update user", updateUser.UserName)
}
logic.SetUserDefaults(&updateUser)
if _, err = logic.UpdateUser(updateUser, updateUser); err != nil {
logger.Log(0, "could not update user", updateUser.UserName)
}
}
return nil
}