diff --git a/app/assets/javascripts/discourse/app/widgets/post.js b/app/assets/javascripts/discourse/app/widgets/post.js index 83e2fd2f083..93f988f7930 100644 --- a/app/assets/javascripts/discourse/app/widgets/post.js +++ b/app/assets/javascripts/discourse/app/widgets/post.js @@ -407,9 +407,7 @@ createWidget("post-contents", { result.push( h("section.embedded-posts.bottom", [ repliesBelow.map(p => { - return this.attach("embedded-post", p, { - model: this.store.createRecord("post", p) - }); + return this.attach("embedded-post", p, { model: p.asPost }); }), this.attach("button", { title: "post.collapse", @@ -449,8 +447,10 @@ createWidget("post-contents", { .find("post-reply", { postId: this.attrs.id }) .then(posts => { this.state.repliesBelow = posts.map(p => { - p.shareUrl = `${topicUrl}/${p.post_number}`; - return transformWithCallbacks(p); + let result = transformWithCallbacks(p); + result.shareUrl = `${topicUrl}/${p.post_number}`; + result.asPost = this.store.createRecord("post", p); + return result; }); }); }, @@ -565,7 +565,7 @@ createWidget("post-article", { if (state.repliesAbove.length) { const replies = state.repliesAbove.map(p => { return this.attach("embedded-post", p, { - model: this.store.createRecord("post", p), + model: p.asPost, state: { above: true } }); }); diff --git a/test/javascripts/widgets/post-stream-test.js b/test/javascripts/widgets/post-stream-test.js index ed52e1127da..6b8276d60f3 100644 --- a/test/javascripts/widgets/post-stream-test.js +++ b/test/javascripts/widgets/post-stream-test.js @@ -20,7 +20,8 @@ function postStreamTest(name, attrs) { postStreamTest("basics", { posts() { const site = this.container.lookup("site:main"); - const topic = Topic.create({ details: { created_by: { id: 123 } } }); + const topic = Topic.create(); + topic.set("details.created_by", { id: 123 }); return [ Post.create({ topic, @@ -118,7 +119,8 @@ postStreamTest("basics", { postStreamTest("deleted posts", { posts() { - const topic = Topic.create({ details: { created_by: { id: 123 } } }); + const topic = Topic.create(); + topic.set("details.created_by", { id: 123 }); return [ Post.create({ topic,