summaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorGeorge Goldberg <george@gberg.me>2017-01-17 20:45:18 +0000
committerChristopher Speller <crspeller@gmail.com>2017-01-17 15:45:18 -0500
commit0685afd1d197584e78a111934754d7111bb2dbe8 (patch)
treeed4b3ac931a027767392af4d1d1d88e13058d4a6 /app
parentcdf91d8ee8d0cdd03b506f06d6c01d5aeed92e74 (diff)
downloadchat-0685afd1d197584e78a111934754d7111bb2dbe8.tar.gz
chat-0685afd1d197584e78a111934754d7111bb2dbe8.tar.bz2
chat-0685afd1d197584e78a111934754d7111bb2dbe8.zip
PLT-2978: Add channel purpose change system message. (#5094)
Completes original patch by David Lu.
Diffstat (limited to 'app')
-rw-r--r--app/channel.go35
1 files changed, 35 insertions, 0 deletions
diff --git a/app/channel.go b/app/channel.go
index 9451ca974..aa84e12be 100644
--- a/app/channel.go
+++ b/app/channel.go
@@ -316,6 +316,41 @@ func PostUpdateChannelHeaderMessage(userId string, channelId string, teamId stri
return nil
}
+func PostUpdateChannelPurposeMessage(userId string, channelId string, teamId string, oldChannelPurpose string, newChannelPurpose string) *model.AppError {
+ uc := Srv.Store.User().Get(userId)
+
+ if uresult := <-uc; uresult.Err != nil {
+ return model.NewLocAppError("PostUpdateChannelPurposeMessage", "app.channel.post_update_channel_purpose_message.retrieve_user.error", nil, uresult.Err.Error())
+ } else {
+ user := uresult.Data.(*model.User)
+
+ var message string
+ if oldChannelPurpose == "" {
+ message = fmt.Sprintf(utils.T("app.channel.post_update_channel_purpose_message.updated_to"), user.Username, newChannelPurpose)
+ } else if newChannelPurpose == "" {
+ message = fmt.Sprintf(utils.T("app.channel.post_update_channel_purpose_message.removed"), user.Username, oldChannelPurpose)
+ } else {
+ message = fmt.Sprintf(utils.T("app.channel.post_update_channel_purpose_message.updated_from"), user.Username, oldChannelPurpose, newChannelPurpose)
+ }
+
+ post := &model.Post{
+ ChannelId: channelId,
+ Message: message,
+ Type: model.POST_PURPOSE_CHANGE,
+ UserId: userId,
+ Props: model.StringInterface{
+ "old_purpose": oldChannelPurpose,
+ "new_purpose": newChannelPurpose,
+ },
+ }
+ if _, err := CreatePost(post, teamId, false); err != nil {
+ return model.NewLocAppError("", "app.channel.post_update_channel_purpose_message.post.error", nil, err.Error())
+ }
+ }
+
+ return nil
+}
+
func PostUpdateChannelDisplayNameMessage(userId string, channelId string, teamId string, oldChannelDisplayName, newChannelDisplayName string) *model.AppError {
uc := Srv.Store.User().Get(userId)