mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 22:43:33 +08:00
FIX: If a user is deleted, don't break embedded comments for admins.
This commit is contained in:
@ -13,7 +13,13 @@ class EmbedController < ApplicationController
|
|||||||
topic_id = TopicEmbed.topic_id_for_embed(embed_url)
|
topic_id = TopicEmbed.topic_id_for_embed(embed_url)
|
||||||
|
|
||||||
if topic_id
|
if topic_id
|
||||||
@topic_view = TopicView.new(topic_id, current_user, limit: SiteSetting.embed_post_limit, exclude_first: true)
|
@topic_view = TopicView.new(topic_id,
|
||||||
|
current_user,
|
||||||
|
limit: SiteSetting.embed_post_limit,
|
||||||
|
exclude_first: true,
|
||||||
|
exclude_deleted_users: true)
|
||||||
|
@topic_view.posts.reject! {|p| p.user.blank?}
|
||||||
|
|
||||||
@second_post_url = "#{@topic_view.topic.url}/2" if @topic_view
|
@second_post_url = "#{@topic_view.topic.url}/2" if @topic_view
|
||||||
@posts_left = 0
|
@posts_left = 0
|
||||||
if @topic_view && @topic_view.posts.size == SiteSetting.embed_post_limit
|
if @topic_view && @topic_view.posts.size == SiteSetting.embed_post_limit
|
||||||
|
@ -307,6 +307,7 @@ class TopicView
|
|||||||
def unfiltered_posts
|
def unfiltered_posts
|
||||||
result = @topic.posts
|
result = @topic.posts
|
||||||
result = result.with_deleted if @user.try(:staff?)
|
result = result.with_deleted if @user.try(:staff?)
|
||||||
|
result = @topic.posts.where("user_id IS NOT NULL") if @exclude_deleted_users
|
||||||
result
|
result
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ describe EmbedController do
|
|||||||
|
|
||||||
it "creates a topic view when a topic_id is found" do
|
it "creates a topic view when a topic_id is found" do
|
||||||
TopicEmbed.expects(:topic_id_for_embed).returns(123)
|
TopicEmbed.expects(:topic_id_for_embed).returns(123)
|
||||||
TopicView.expects(:new).with(123, nil, {limit: 100, exclude_first: true})
|
TopicView.expects(:new).with(123, nil, {limit: 100, exclude_first: true, exclude_deleted_users: true})
|
||||||
get :comments, embed_url: embed_url
|
get :comments, embed_url: embed_url
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Reference in New Issue
Block a user