diff --git a/.env.production.sample b/.env.production.sample index 15004b9d0d9..12e3d32be73 100644 --- a/.env.production.sample +++ b/.env.production.sample @@ -109,3 +109,9 @@ FETCH_REPLIES_MAX_SINGLE=500 # Max number of replies Collection pages to fetch - total FETCH_REPLIES_MAX_PAGES=500 + +# Maximum allowed poll options +MAX_POLL_OPTIONS=4 + +# Maximum allowed poll option characters +MAX_POLL_OPTION_CHARS=50 diff --git a/app/validators/poll_options_validator.rb b/app/validators/poll_options_validator.rb index fd29fc1b443..646e8f98267 100644 --- a/app/validators/poll_options_validator.rb +++ b/app/validators/poll_options_validator.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true class PollOptionsValidator < ActiveModel::Validator - MAX_OPTIONS = 4 - MAX_OPTION_CHARS = 50 + MAX_OPTIONS = (ENV['MAX_POLL_OPTIONS'] || 4).to_i + MAX_OPTION_CHARS = (ENV['MAX_POLL_OPTION_CHARS'] || 50).to_i def validate(poll) poll.errors.add(:options, I18n.t('polls.errors.too_few_options')) unless poll.options.size > 1