interactive post update fix (#7477)
Этот коммит содержится в:
коммит произвёл
Harrison Healey
родитель
99b7d65504
Коммит
e7e10d36a9
@@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -129,11 +129,13 @@ func (s SqlPostStore) Update(newPost *model.Post, oldPost *model.Post) StoreChan
|
||||
result := StoreResult{}
|
||||
|
||||
newPost.UpdateAt = model.GetMillis()
|
||||
newPost.PreCommit()
|
||||
|
||||
oldPost.DeleteAt = newPost.UpdateAt
|
||||
oldPost.UpdateAt = newPost.UpdateAt
|
||||
oldPost.OriginalId = oldPost.Id
|
||||
oldPost.Id = model.NewId()
|
||||
oldPost.PreCommit()
|
||||
|
||||
if result.Err = newPost.IsValid(); result.Err != nil {
|
||||
storeChannel <- result
|
||||
|
||||
Ссылка в новой задаче
Block a user