summaryrefslogtreecommitdiffstats
path: root/api4/channel.go
diff options
context:
space:
mode:
authorSaturnino Abril <saturnino.abril@gmail.com>2018-05-05 02:16:00 +0800
committerGitHub <noreply@github.com>2018-05-05 02:16:00 +0800
commit30fd4a2951906a59137312d6d1dea2e54fe9c8e9 (patch)
treeddd3ef0615a7b6c47d4ae7e6aab45ad104a9f017 /api4/channel.go
parent37b3805ca6b260a6075a522be46a948c9e54e58b (diff)
downloadchat-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.go8
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