summaryrefslogtreecommitdiffstats
path: root/app/channel.go
diff options
context:
space:
mode:
Diffstat (limited to 'app/channel.go')
-rw-r--r--app/channel.go23
1 files changed, 20 insertions, 3 deletions
diff --git a/app/channel.go b/app/channel.go
index caaacea06..d37f681bb 100644
--- a/app/channel.go
+++ b/app/channel.go
@@ -64,7 +64,7 @@ func (a *App) JoinDefaultChannels(teamId string, user *model.User, channelRole s
}
if requestor == nil {
- if err := a.postJoinChannelMessage(user, townSquare); err != nil {
+ if err := a.postJoinTeamMessage(user, townSquare); err != nil {
l4g.Error(utils.T("api.channel.post_user_add_remove_message_and_forget.error"), err)
}
} else {
@@ -78,8 +78,7 @@ func (a *App) JoinDefaultChannels(teamId string, user *model.User, channelRole s
if result := <-a.Srv.Store.Channel().GetByName(teamId, "off-topic", true); result.Err != nil {
err = result.Err
- } else {
- offTopic := result.Data.(*model.Channel)
+ } else if offTopic := result.Data.(*model.Channel); offTopic.Type == model.CHANNEL_OPEN {
cm := &model.ChannelMember{
ChannelId: offTopic.Id,
@@ -965,6 +964,24 @@ func (a *App) postJoinChannelMessage(user *model.User, channel *model.Channel) *
return nil
}
+func (a *App) postJoinTeamMessage(user *model.User, channel *model.Channel) *model.AppError {
+ post := &model.Post{
+ ChannelId: channel.Id,
+ Message: fmt.Sprintf(utils.T("api.team.join_team.post_and_forget"), user.Username),
+ Type: model.POST_JOIN_TEAM,
+ UserId: user.Id,
+ Props: model.StringInterface{
+ "username": user.Username,
+ },
+ }
+
+ if _, err := a.CreatePost(post, channel, false); err != nil {
+ return model.NewAppError("postJoinTeamMessage", "api.channel.post_user_add_remove_message_and_forget.error", nil, err.Error(), http.StatusInternalServerError)
+ }
+
+ return nil
+}
+
func (a *App) LeaveChannel(channelId string, userId string) *model.AppError {
sc := a.Srv.Store.Channel().Get(channelId, true)
uc := a.Srv.Store.User().Get(userId)