diff options
Diffstat (limited to 'model/post.go')
-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() + } + } + } + } +} |