Fix poll options not being stripped of surrounding whitespace on save (#10168)

This commit is contained in:
Eugen Rochko 2019-03-05 03:45:56 +01:00 committed by GitHub
parent cda6ece760
commit 05dfd632c7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 0 deletions

View File

@ -32,8 +32,11 @@ class Poll < ApplicationRecord
scope :attached, -> { where.not(status_id: nil) } scope :attached, -> { where.not(status_id: nil) }
scope :unattached, -> { where(status_id: nil) } scope :unattached, -> { where(status_id: nil) }
before_validation :prepare_options
before_validation :prepare_votes_count before_validation :prepare_votes_count
after_initialize :prepare_cached_tallies after_initialize :prepare_cached_tallies
after_commit :reset_parent_cache, on: :update after_commit :reset_parent_cache, on: :update
def loaded_options def loaded_options
@ -75,6 +78,10 @@ class Poll < ApplicationRecord
self.votes_count = cached_tallies.sum unless cached_tallies.empty? self.votes_count = cached_tallies.sum unless cached_tallies.empty?
end end
def prepare_options
self.options = options.map(&:strip).reject(&:blank?)
end
def reset_parent_cache def reset_parent_cache
return if status_id.nil? return if status_id.nil?
Rails.cache.delete("statuses/#{status_id}") Rails.cache.delete("statuses/#{status_id}")