Make polls work better on multi-language forums.

This commit is contained in:
Vikhyat Korrapati 2014-04-01 18:32:52 +05:30
parent a3f270f0e9
commit 5f945793d3
2 changed files with 14 additions and 2 deletions

View File

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

View File

@ -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:
#