summaryrefslogtreecommitdiffstats
path: root/app/command_groupmsg.go
diff options
context:
space:
mode:
authorGeorge Goldberg <george@gberg.me>2018-07-10 09:54:49 +0100
committerCarlos Tadeu Panato Junior <ctadeu@gmail.com>2018-07-10 10:54:49 +0200
commit2df818b9c680d9e6aec2cddb4c910ecf8341e3a9 (patch)
treeb460265f1d3f2317321778f38ebc81e567caf87e /app/command_groupmsg.go
parent74e5d8ae66186a82e8afdd845a108d6a662751d7 (diff)
downloadchat-2df818b9c680d9e6aec2cddb4c910ecf8341e3a9.tar.gz
chat-2df818b9c680d9e6aec2cddb4c910ecf8341e3a9.tar.bz2
chat-2df818b9c680d9e6aec2cddb4c910ecf8341e3a9.zip
MM-11227: Fix group msg slash command. (#9070)
Diffstat (limited to 'app/command_groupmsg.go')
-rw-r--r--app/command_groupmsg.go18
1 files changed, 14 insertions, 4 deletions
diff --git a/app/command_groupmsg.go b/app/command_groupmsg.go
index 0e783e1a8..9ec84fda0 100644
--- a/app/command_groupmsg.go
+++ b/app/command_groupmsg.go
@@ -93,10 +93,20 @@ func (me *groupmsgProvider) DoCommand(a *App, args *model.CommandArgs, message s
}
}
- groupChannel, channelErr := a.CreateGroupChannel(targetUsersSlice, args.UserId)
- if channelErr != nil {
- mlog.Error(channelErr.Error())
- return &model.CommandResponse{Text: args.T("api.command_groupmsg.group_fail.app_error"), ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL}
+ var groupChannel *model.Channel
+ var channelErr *model.AppError
+
+ if a.SessionHasPermissionTo(args.Session, model.PERMISSION_CREATE_GROUP_CHANNEL) {
+ groupChannel, channelErr = a.CreateGroupChannel(targetUsersSlice, args.UserId)
+ if channelErr != nil {
+ mlog.Error(channelErr.Error())
+ return &model.CommandResponse{Text: args.T("api.command_groupmsg.group_fail.app_error"), ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL}
+ }
+ } else {
+ groupChannel, channelErr = a.GetGroupChannel(targetUsersSlice)
+ if channelErr != nil {
+ return &model.CommandResponse{Text: args.T("api.command_groupmsg.permission.app_error"), ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL}
+ }
}
if len(parsedMessage) > 0 {