summaryrefslogtreecommitdiffstats
path: root/app/channel.go
diff options
context:
space:
mode:
authorGeorge Goldberg <george@gberg.me>2017-04-04 18:19:42 +0100
committerGitHub <noreply@github.com>2017-04-04 18:19:42 +0100
commit32460bf63bc07c69ee5da0bb5640b879facb5538 (patch)
tree2ee6abc94175823632e9f9ab40172948fcfa0f85 /app/channel.go
parent0b5c0794fdcbb551c1233dcdfbdf5c7deb585fd6 (diff)
downloadchat-32460bf63bc07c69ee5da0bb5640b879facb5538.tar.gz
chat-32460bf63bc07c69ee5da0bb5640b879facb5538.tar.bz2
chat-32460bf63bc07c69ee5da0bb5640b879facb5538.zip
PLT-6198: Use added to channel system message on default channels. (#5969)
Use a different sytem message when a user was added to a default channel by someone else than when they joined themselves.
Diffstat (limited to 'app/channel.go')
-rw-r--r--app/channel.go31
1 files changed, 26 insertions, 5 deletions
diff --git a/app/channel.go b/app/channel.go
index c1e0afce9..1c04905c2 100644
--- a/app/channel.go
+++ b/app/channel.go
@@ -32,9 +32,18 @@ func CreateDefaultChannels(teamId string) ([]*model.Channel, *model.AppError) {
return channels, nil
}
-func JoinDefaultChannels(teamId string, user *model.User, channelRole string) *model.AppError {
+func JoinDefaultChannels(teamId string, user *model.User, channelRole string, userRequestorId string) *model.AppError {
var err *model.AppError = nil
+ var requestor *model.User
+ if userRequestorId != "" {
+ if u := <-Srv.Store.User().Get(userRequestorId); u.Err != nil {
+ return u.Err
+ } else {
+ requestor = u.Data.(*model.User)
+ }
+ }
+
if result := <-Srv.Store.Channel().GetByName(teamId, "town-square", true); result.Err != nil {
err = result.Err
} else {
@@ -47,8 +56,14 @@ func JoinDefaultChannels(teamId string, user *model.User, channelRole string) *m
err = cmResult.Err
}
- if err := postJoinChannelMessage(user, townSquare); err != nil {
- l4g.Error(utils.T("api.channel.post_user_add_remove_message_and_forget.error"), err)
+ if requestor == nil {
+ if err := postJoinChannelMessage(user, townSquare); err != nil {
+ l4g.Error(utils.T("api.channel.post_user_add_remove_message_and_forget.error"), err)
+ }
+ } else {
+ if err := PostAddToChannelMessage(requestor, user, townSquare); err != nil {
+ l4g.Error(utils.T("api.channel.post_user_add_remove_message_and_forget.error"), err)
+ }
}
InvalidateCacheForChannelMembers(result.Data.(*model.Channel).Id)
@@ -66,8 +81,14 @@ func JoinDefaultChannels(teamId string, user *model.User, channelRole string) *m
err = cmResult.Err
}
- if err := postJoinChannelMessage(user, offTopic); err != nil {
- l4g.Error(utils.T("api.channel.post_user_add_remove_message_and_forget.error"), err)
+ if requestor == nil {
+ if err := postJoinChannelMessage(user, offTopic); err != nil {
+ l4g.Error(utils.T("api.channel.post_user_add_remove_message_and_forget.error"), err)
+ }
+ } else {
+ if err := PostAddToChannelMessage(requestor, user, offTopic); err != nil {
+ l4g.Error(utils.T("api.channel.post_user_add_remove_message_and_forget.error"), err)
+ }
}
InvalidateCacheForChannelMembers(result.Data.(*model.Channel).Id)