summaryrefslogtreecommitdiffstats
path: root/utils/authorization.go
diff options
context:
space:
mode:
authorJesús Espino <jespinog@gmail.com>2018-02-09 16:31:01 +0100
committerMartin Kraft <mkraft@users.noreply.github.com>2018-02-09 10:31:01 -0500
commit0aa7ecd5e89f054ae927b246f2aec4bd6348d42b (patch)
tree1944001594c05731acfb998fc3840d2de456e511 /utils/authorization.go
parent96ffde43dc5dccef7af106dc8200566ff16ba1dc (diff)
downloadchat-0aa7ecd5e89f054ae927b246f2aec4bd6348d42b.tar.gz
chat-0aa7ecd5e89f054ae927b246f2aec4bd6348d42b.tar.bz2
chat-0aa7ecd5e89f054ae927b246f2aec4bd6348d42b.zip
AllowEditPost and PostEditTimeLimit migration (#8208)
* AllowEditPost and PostEditTimeLimit migration * Not set EDIT_POST permission to sysadmin_role if ALLOW_EDIT_POST is configured to NEVER * Remove a bit of code duplication
Diffstat (limited to 'utils/authorization.go')
-rw-r--r--utils/authorization.go23
1 files changed, 23 insertions, 0 deletions
diff --git a/utils/authorization.go b/utils/authorization.go
index b18ece141..b17e94587 100644
--- a/utils/authorization.go
+++ b/utils/authorization.go
@@ -267,5 +267,28 @@ func SetRolePermissionsFromConfig(roles map[string]*model.Role, cfg *model.Confi
)
}
+ if IsLicensed() {
+ switch *cfg.ServiceSettings.AllowEditPost {
+ case model.ALLOW_EDIT_POST_ALWAYS, model.ALLOW_EDIT_POST_TIME_LIMIT:
+ roles[model.CHANNEL_USER_ROLE_ID].Permissions = append(
+ roles[model.CHANNEL_USER_ROLE_ID].Permissions,
+ model.PERMISSION_EDIT_POST.Id,
+ )
+ roles[model.SYSTEM_ADMIN_ROLE_ID].Permissions = append(
+ roles[model.SYSTEM_ADMIN_ROLE_ID].Permissions,
+ model.PERMISSION_EDIT_POST.Id,
+ )
+ }
+ } else {
+ roles[model.CHANNEL_USER_ROLE_ID].Permissions = append(
+ roles[model.CHANNEL_USER_ROLE_ID].Permissions,
+ model.PERMISSION_EDIT_POST.Id,
+ )
+ roles[model.SYSTEM_ADMIN_ROLE_ID].Permissions = append(
+ roles[model.SYSTEM_ADMIN_ROLE_ID].Permissions,
+ model.PERMISSION_EDIT_POST.Id,
+ )
+ }
+
return roles
}