mirror of
https://github.com/discourse/discourse.git
synced 2024-11-23 15:05:24 +08:00
Make polls work better on multi-language forums.
This commit is contained in:
parent
a3f270f0e9
commit
5f945793d3
|
@ -33,7 +33,7 @@ after_initialize do
|
|||
|
||||
post = Post.find(params[:post_id])
|
||||
poll = PollPlugin::Poll.new(post)
|
||||
unless poll.is_poll?
|
||||
unless poll.has_poll_details?
|
||||
render status: 400, json: false
|
||||
return
|
||||
end
|
||||
|
@ -102,7 +102,7 @@ after_initialize do
|
|||
PollPlugin::Poll.new(object).serialize(scope.user)
|
||||
end
|
||||
def include_poll_details?
|
||||
PollPlugin::Poll.new(object).is_poll?
|
||||
PollPlugin::Poll.new(object).has_poll_details?
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -24,6 +24,18 @@ module ::PollPlugin
|
|||
topic.title =~ /^#{I18n.t('poll.prefix')}/i
|
||||
end
|
||||
|
||||
def has_poll_details?
|
||||
if SiteSetting.allow_user_locale?
|
||||
# If we allow users to select their locale of choice we cannot detect polls
|
||||
# by the prefix, so we fall back to checking if the poll details is set in
|
||||
# places to make sure polls are still accessible by users using a different
|
||||
# locale than the one used by the topic creator.
|
||||
not self.details.nil?
|
||||
else
|
||||
self.is_poll?
|
||||
end
|
||||
end
|
||||
|
||||
# Called during validation of poll posts. Discourse already restricts edits to
|
||||
# the OP and staff, we want to make sure that:
|
||||
#
|
||||
|
|
Loading…
Reference in New Issue
Block a user