Revert "DEV: Improve add_to_serializer include_* options (#21073)" (#21219)

This reverts commit 4895e76ef797127ce45b33ba3a9a2174293ce9d8.
This commit is contained in:
Natalie Tay
2023-04-24 16:14:52 +08:00
committed by GitHub
parent 4895e76ef7
commit e1bc43aa31
4 changed files with 53 additions and 113 deletions

View File

@ -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)