mirror of
https://github.com/discourse/discourse.git
synced 2025-05-21 18:12:32 +08:00
This reverts commit 4895e76ef797127ce45b33ba3a9a2174293ce9d8.
This commit is contained in:
@ -195,7 +195,7 @@ after_initialize do
|
||||
end
|
||||
end
|
||||
|
||||
add_to_class(PostSerializer, :preloaded_polls) do
|
||||
add_to_serializer(:post, :preloaded_polls, false) do
|
||||
@preloaded_polls ||=
|
||||
if @topic_view.present?
|
||||
@topic_view.polls[object.id]
|
||||
@ -204,18 +204,15 @@ after_initialize do
|
||||
end
|
||||
end
|
||||
|
||||
add_to_serializer(:post, :polls, include_condition: -> { preloaded_polls.present? }) do
|
||||
add_to_serializer(:post, :include_preloaded_polls?) { false }
|
||||
|
||||
add_to_serializer(:post, :polls, false) do
|
||||
preloaded_polls.map { |p| PollSerializer.new(p, root: false, scope: self.scope) }
|
||||
end
|
||||
|
||||
add_to_serializer(
|
||||
:post,
|
||||
:polls_votes,
|
||||
include_condition: -> do
|
||||
scope.user&.id.present? && preloaded_polls.present? &&
|
||||
preloaded_polls.any? { |p| p.has_voted?(scope.user) }
|
||||
end,
|
||||
) do
|
||||
add_to_serializer(:post, :include_polls?) { SiteSetting.poll_enabled && preloaded_polls.present? }
|
||||
|
||||
add_to_serializer(:post, :polls_votes, false) do
|
||||
preloaded_polls
|
||||
.map do |poll|
|
||||
user_poll_votes =
|
||||
@ -230,6 +227,11 @@ after_initialize do
|
||||
.to_h
|
||||
end
|
||||
|
||||
add_to_serializer(:post, :include_polls_votes?) do
|
||||
SiteSetting.poll_enabled && scope.user&.id.present? && preloaded_polls.present? &&
|
||||
preloaded_polls.any? { |p| p.has_voted?(scope.user) }
|
||||
end
|
||||
|
||||
register_search_advanced_filter(/in:polls/) do |posts, match|
|
||||
if SiteSetting.poll_enabled
|
||||
posts.joins(:polls)
|
||||
|
Reference in New Issue
Block a user