Sha256: 180dae4ea97c473a67ebc9e3973654c54f58a2b9447bf3553c0541227b5f8ed2

Contents?: true

Size: 854 Bytes

Versions: 15

Compression:

Stored size: 854 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module Assemblies
    module Admin
      # A form object used to copy a assemblies from the admin
      # dashboard.
      #
      class AssemblyCopyForm < Form
        include TranslatableAttributes

        translatable_attribute :title, String

        mimic :assembly

        attribute :slug, String
        attribute :copy_categories, Boolean
        attribute :copy_components, Boolean

        validates :slug, presence: true, format: { with: Decidim::Assembly.slug_format }
        validates :title, translatable_presence: true
        validate :slug_uniqueness

        private

        def slug_uniqueness
          return unless OrganizationAssemblies.new(current_organization).query.where(slug:).where.not(id:).any?

          errors.add(:slug, :taken)
        end
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
decidim-assemblies-0.29.2 app/forms/decidim/assemblies/admin/assembly_copy_form.rb
decidim-assemblies-0.28.5 app/forms/decidim/assemblies/admin/assembly_copy_form.rb
decidim-assemblies-0.29.1 app/forms/decidim/assemblies/admin/assembly_copy_form.rb
decidim-assemblies-0.28.4 app/forms/decidim/assemblies/admin/assembly_copy_form.rb
decidim-assemblies-0.29.0 app/forms/decidim/assemblies/admin/assembly_copy_form.rb
decidim-assemblies-0.28.3 app/forms/decidim/assemblies/admin/assembly_copy_form.rb
decidim-assemblies-0.29.0.rc4 app/forms/decidim/assemblies/admin/assembly_copy_form.rb
decidim-assemblies-0.29.0.rc3 app/forms/decidim/assemblies/admin/assembly_copy_form.rb
decidim-assemblies-0.29.0.rc2 app/forms/decidim/assemblies/admin/assembly_copy_form.rb
decidim-assemblies-0.29.0.rc1 app/forms/decidim/assemblies/admin/assembly_copy_form.rb
decidim-assemblies-0.28.2 app/forms/decidim/assemblies/admin/assembly_copy_form.rb
decidim-assemblies-0.28.1 app/forms/decidim/assemblies/admin/assembly_copy_form.rb
decidim-assemblies-0.28.0 app/forms/decidim/assemblies/admin/assembly_copy_form.rb
decidim-assemblies-0.28.0.rc5 app/forms/decidim/assemblies/admin/assembly_copy_form.rb
decidim-assemblies-0.28.0.rc4 app/forms/decidim/assemblies/admin/assembly_copy_form.rb