Sha256: e9f5cd1fc035f166eca46c417d0d9b1700a34321f6d0271dc6cd3e5aa4f6dc8e

Contents?: true

Size: 676 Bytes

Versions: 10

Compression:

Stored size: 676 Bytes

Contents

module Helena
  module Concerns
    module Questions
      module ValidatesOneLabel
        extend ActiveSupport::Concern

        included do
          validate :labels_preselection
        end

        private

        def labels_preselection
          selected_labels = labels.select { |label| label.preselected == true }
          return if selected_labels.size <= 1
          selected_labels.each { |label| label.errors.add(:preselected, I18n.t(:taken, scope: 'activerecord.errors.messages')) }
          errors.add(:labels, I18n.t('helena.admin.radio_group.only_one_preselection_allowed')) # TODO: How to manage this translation?
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
helena-1.3.1 app/models/helena/concerns/questions/validates_one_label.rb
helena-1.3.0 app/models/helena/concerns/questions/validates_one_label.rb
helena-1.1.0 app/models/helena/concerns/questions/validates_one_label.rb
helena-1.0.3 app/models/helena/concerns/questions/validates_one_label.rb
helena-1.0.2 app/models/helena/concerns/questions/validates_one_label.rb
helena-1.0.1 app/models/helena/concerns/questions/validates_one_label.rb
helena-1.0.0.rc4 app/models/helena/concerns/questions/validates_one_label.rb
helena-1.0.0.rc3 app/models/helena/concerns/questions/validates_one_label.rb
helena-1.0.0.rc2 app/models/helena/concerns/questions/validates_one_label.rb
helena-1.0.0.rc1 app/models/helena/concerns/questions/validates_one_label.rb