Class: CamaleonCms::UniqValidator

Inherits:
ActiveModel::Validator
  • Object
show all
Defined in:
app/validators/camaleon_cms/uniq_validator.rb

Instance Method Summary collapse

Instance Method Details

#validate(record) ⇒ Object



3
4
5
6
7
8
9
# File 'app/validators/camaleon_cms/uniq_validator.rb', line 3

def validate(record)
  return if record.skip_slug_validation?

  if CamaleonCms::TermTaxonomy.where(slug: record.slug).where.not(id: record.id).where("#{CamaleonCms::TermTaxonomy.table_name}.taxonomy" => record.taxonomy).where("#{CamaleonCms::TermTaxonomy.table_name}.parent_id" => record.parent_id).size.positive?
    record.errors[:base] << I18n.t('camaleon_cms.admin.post.message.requires_different_slug').to_s
  end
end