diff options
author | George Goldberg <george@gberg.me> | 2017-04-04 18:19:42 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-04 18:19:42 +0100 |
commit | 32460bf63bc07c69ee5da0bb5640b879facb5538 (patch) | |
tree | 2ee6abc94175823632e9f9ab40172948fcfa0f85 /app/channel.go | |
parent | 0b5c0794fdcbb551c1233dcdfbdf5c7deb585fd6 (diff) | |
download | chat-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.go | 31 |
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) |