PLT-6139 (Server): Private Channel member managing (#5941)
Adds an EE policy feature to allow restricting system-wide which level of Admins can manage the membership of private channels.
Этот коммит содержится в:
коммит произвёл
Harrison Healey
родитель
232a99f0c7
Коммит
e49f5928c5
@@ -183,6 +183,39 @@ func SetDefaultRolesBasedOnConfig() {
|
||||
)
|
||||
}
|
||||
|
||||
// Restrict permissions for Private Channel Manage Members
|
||||
if IsLicensed {
|
||||
switch *Cfg.TeamSettings.RestrictPrivateChannelManageMembers {
|
||||
case model.PERMISSIONS_ALL:
|
||||
model.ROLE_CHANNEL_USER.Permissions = append(
|
||||
model.ROLE_CHANNEL_USER.Permissions,
|
||||
model.PERMISSION_MANAGE_PRIVATE_CHANNEL_MEMBERS.Id,
|
||||
)
|
||||
break
|
||||
case model.PERMISSIONS_CHANNEL_ADMIN:
|
||||
model.ROLE_TEAM_ADMIN.Permissions = append(
|
||||
model.ROLE_TEAM_ADMIN.Permissions,
|
||||
model.PERMISSION_MANAGE_PRIVATE_CHANNEL_MEMBERS.Id,
|
||||
)
|
||||
model.ROLE_CHANNEL_ADMIN.Permissions = append(
|
||||
model.ROLE_CHANNEL_ADMIN.Permissions,
|
||||
model.PERMISSION_MANAGE_PRIVATE_CHANNEL_MEMBERS.Id,
|
||||
)
|
||||
break
|
||||
case model.PERMISSIONS_TEAM_ADMIN:
|
||||
model.ROLE_TEAM_ADMIN.Permissions = append(
|
||||
model.ROLE_TEAM_ADMIN.Permissions,
|
||||
model.PERMISSION_MANAGE_PRIVATE_CHANNEL_MEMBERS.Id,
|
||||
)
|
||||
break
|
||||
}
|
||||
} else {
|
||||
model.ROLE_CHANNEL_USER.Permissions = append(
|
||||
model.ROLE_CHANNEL_USER.Permissions,
|
||||
model.PERMISSION_MANAGE_PRIVATE_CHANNEL_MEMBERS.Id,
|
||||
)
|
||||
}
|
||||
|
||||
if !*Cfg.ServiceSettings.EnableOnlyAdminIntegrations {
|
||||
model.ROLE_TEAM_USER.Permissions = append(
|
||||
model.ROLE_TEAM_USER.Permissions,
|
||||
|
||||
@@ -288,6 +288,7 @@ func getClientConfig(c *model.Config) map[string]string {
|
||||
props["RestrictPrivateChannelManagement"] = *c.TeamSettings.RestrictPrivateChannelManagement
|
||||
props["RestrictPublicChannelDeletion"] = *c.TeamSettings.RestrictPublicChannelDeletion
|
||||
props["RestrictPrivateChannelDeletion"] = *c.TeamSettings.RestrictPrivateChannelDeletion
|
||||
props["RestrictPrivateChannelManageMembers"] = *c.TeamSettings.RestrictPrivateChannelManageMembers
|
||||
|
||||
props["EnableOAuthServiceProvider"] = strconv.FormatBool(c.ServiceSettings.EnableOAuthServiceProvider)
|
||||
props["GoogleDeveloperKey"] = c.ServiceSettings.GoogleDeveloperKey
|
||||
|
||||
Ссылка в новой задаче
Block a user