summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2017-06-05 11:57:50 -0400
committerGitHub <noreply@github.com>2017-06-05 11:57:50 -0400
commit0f3bd85b8dddc6805e260a9d19cadcc603a12e17 (patch)
tree39288b866b71c610679c0a6ae1baab390b54468e
parentb0f32e3c1928d1a125b9f7bdfd3dcbf2fede65ab (diff)
downloadchat-0f3bd85b8dddc6805e260a9d19cadcc603a12e17.tar.gz
chat-0f3bd85b8dddc6805e260a9d19cadcc603a12e17.tar.bz2
chat-0f3bd85b8dddc6805e260a9d19cadcc603a12e17.zip
Allow switching to private channels with /join command (#6579)
-rw-r--r--app/command_join.go6
-rw-r--r--webapp/components/confirm_modal.jsx4
2 files changed, 6 insertions, 4 deletions
diff --git a/app/command_join.go b/app/command_join.go
index 9ad3682a1..caacb8c7e 100644
--- a/app/command_join.go
+++ b/app/command_join.go
@@ -40,8 +40,12 @@ func (me *JoinProvider) DoCommand(args *model.CommandArgs, message string) *mode
channel := result.Data.(*model.Channel)
if channel.Name == message {
+ allowed := false
+ if (channel.Type == model.CHANNEL_PRIVATE && SessionHasPermissionToChannel(args.Session, channel.Id, model.PERMISSION_READ_CHANNEL)) || channel.Type == model.CHANNEL_OPEN {
+ allowed = true
+ }
- if channel.Type != model.CHANNEL_OPEN {
+ if !allowed {
return &model.CommandResponse{Text: args.T("api.command_join.fail.app_error"), ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL}
}
diff --git a/webapp/components/confirm_modal.jsx b/webapp/components/confirm_modal.jsx
index 94f27a3e2..0adf06906 100644
--- a/webapp/components/confirm_modal.jsx
+++ b/webapp/components/confirm_modal.jsx
@@ -22,9 +22,7 @@ export default class ConfirmModal extends React.Component {
}
componentWillUnmount() {
- if (!this.props.show) {
- document.removeEventListener('keypress', this.handleKeypress);
- }
+ document.removeEventListener('keypress', this.handleKeypress);
}
componentWillReceiveProps(nextProps) {