Sha256: cb84751fac4f1a2a0b0d4011c2c7af0cf274bf81002e6edd2a161ab60696c13a
Contents?: true
Size: 851 Bytes
Versions: 19
Compression:
Stored size: 851 Bytes
Contents
# frozen_string_literal: true module Decidim module Admin # A form object to create or update pages. class StaticPageForm < Form include TranslatableAttributes attribute :slug, String translatable_attribute :title, String translatable_attribute :content, String mimic :static_page validates :slug, presence: true validates :title, :content, translatable_presence: true validates :slug, format: { with: /\A[a-z0-9-]+/ } validate :slug, :slug_uniqueness alias organization current_organization def slug super.to_s.downcase end private def slug_uniqueness return unless organization return unless organization.static_pages.where(slug: slug).where.not(id: id).any? errors.add(:slug, :taken) end end end end
Version data entries
19 entries across 19 versions & 1 rubygems