Sha256: a3a1d5d1c0ca8d7dbfdf6fd1bb1ef8718d441a9011b1894b059eded0dbfd9340
Contents?: true
Size: 895 Bytes
Versions: 4
Compression:
Stored size: 895 Bytes
Contents
module SpreeMobility::CoreExt::Spree::TaxonomyDecorator module TranslationMethods def name_uniqueness_validation return unless name.present? return unless translated_model check_scope = ::Spree::Taxonomy. where.not(id: translated_model.id). where(store_id: translated_model.store_id). joins(:translations). where(spree_taxonomy_translations: { locale: locale }). where('LOWER(spree_taxonomy_translations.name) = ?', name.downcase) if check_scope.exists? errors.add(:name, :taken, value: name) end end end def self.prepended(base) base.include SpreeMobility::Translatable SpreeMobility.translates_for base, :name base.translation_class.class_eval do include TranslationMethods validates :name, presence: true validate :name_uniqueness_validation end end end
Version data entries
4 entries across 4 versions & 1 rubygems