diff options
author | Jesús Espino <jespinog@gmail.com> | 2018-02-09 16:31:01 +0100 |
---|---|---|
committer | Martin Kraft <mkraft@users.noreply.github.com> | 2018-02-09 10:31:01 -0500 |
commit | 0aa7ecd5e89f054ae927b246f2aec4bd6348d42b (patch) | |
tree | 1944001594c05731acfb998fc3840d2de456e511 /utils | |
parent | 96ffde43dc5dccef7af106dc8200566ff16ba1dc (diff) | |
download | chat-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')
-rw-r--r-- | utils/authorization.go | 23 |
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 } |