diff options
author | Chris <ccbrown112@gmail.com> | 2017-09-19 16:05:20 -0500 |
---|---|---|
committer | Harrison Healey <harrisonmhealey@gmail.com> | 2017-09-19 17:05:20 -0400 |
commit | e7e10d36a9bfd2c4b1ef98aabe013f97c01baa9e (patch) | |
tree | 45c894db2d181bd2cd3dadb935f5b989060cded7 /model | |
parent | 99b7d65504ce729db4255f2d31def0859d36e87f (diff) | |
download | chat-e7e10d36a9bfd2c4b1ef98aabe013f97c01baa9e.tar.gz chat-e7e10d36a9bfd2c4b1ef98aabe013f97c01baa9e.tar.bz2 chat-e7e10d36a9bfd2c4b1ef98aabe013f97c01baa9e.zip |
interactive post update fix (#7477)
Diffstat (limited to 'model')
-rw-r--r-- | model/post.go | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/model/post.go b/model/post.go index 2554c4f2e..d4fff7ef9 100644 --- a/model/post.go +++ b/model/post.go @@ -198,21 +198,14 @@ func (o *Post) PreSave() { } o.UpdateAt = o.CreateAt + o.PreCommit() +} +func (o *Post) PreCommit() { if o.Props == nil { o.Props = make(map[string]interface{}) } - if attachments, ok := o.Props["attachments"].([]*SlackAttachment); ok { - for _, attachment := range attachments { - for _, action := range attachment.Actions { - if action.Id == "" { - action.Id = NewId() - } - } - } - } - if o.Filenames == nil { o.Filenames = []string{} } @@ -220,6 +213,8 @@ func (o *Post) PreSave() { if o.FileIds == nil { o.FileIds = []string{} } + + o.GenerateActionIds() } func (o *Post) MakeNonNil() { @@ -330,3 +325,18 @@ func (o *Post) GetAction(id string) *PostAction { } return nil } + +func (o *Post) GenerateActionIds() { + if o.Props["attachments"] != nil { + o.Props["attachments"] = o.Attachments() + } + if attachments, ok := o.Props["attachments"].([]*SlackAttachment); ok { + for _, attachment := range attachments { + for _, action := range attachment.Actions { + if action.Id == "" { + action.Id = NewId() + } + } + } + } +} |