diff options
author | Saturnino Abril <saturnino.abril@gmail.com> | 2018-05-05 02:16:00 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-05 02:16:00 +0800 |
commit | 30fd4a2951906a59137312d6d1dea2e54fe9c8e9 (patch) | |
tree | ddd3ef0615a7b6c47d4ae7e6aab45ad104a9f017 /api4/channel.go | |
parent | 37b3805ca6b260a6075a522be46a948c9e54e58b (diff) | |
download | chat-30fd4a2951906a59137312d6d1dea2e54fe9c8e9.tar.gz chat-30fd4a2951906a59137312d6d1dea2e54fe9c8e9.tar.bz2 chat-30fd4a2951906a59137312d6d1dea2e54fe9c8e9.zip |
update permission of converting a channel from public to private to allow team admin (#8723)
Diffstat (limited to 'api4/channel.go')
-rw-r--r-- | api4/channel.go | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/api4/channel.go b/api4/channel.go index 83fa8eb18..1026a41ad 100644 --- a/api4/channel.go +++ b/api4/channel.go @@ -153,15 +153,13 @@ func convertChannelToPrivate(c *Context, w http.ResponseWriter, r *http.Request) return } - if !c.App.SessionHasPermissionTo(c.Session, model.PERMISSION_MANAGE_SYSTEM) { - c.SetPermissionError(model.PERMISSION_MANAGE_SYSTEM) - return - } - oldPublicChannel, err := c.App.GetChannel(c.Params.ChannelId) if err != nil { c.Err = err return + } else if !c.App.SessionHasPermissionToTeam(c.Session, oldPublicChannel.TeamId, model.PERMISSION_MANAGE_TEAM) { + c.SetPermissionError(model.PERMISSION_MANAGE_TEAM) + return } else if oldPublicChannel.Type == model.CHANNEL_PRIVATE { c.Err = model.NewAppError("convertChannelToPrivate", "api.channel.convert_channel_to_private.private_channel_error", nil, "", http.StatusBadRequest) return |