Sha256: 57930b86b0e66cd38dfb84d67b9de0367626a346d4b0dc9f65c92bcc85a6a528

Contents?: true

Size: 755 Bytes

Versions: 7

Compression:

Stored size: 755 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module Admin
    class OrganizationExternalDomainAllowlistForm < Form
      attribute :external_domains, Array[Decidim::Admin::ExternalDomainForm]

      validate :external_domains_validator

      def map_model(model)
        self.external_domains = model.external_domain_allowlist.map do |external_domain|
          ExternalDomainForm.new(value: external_domain)
        end
      end

      def external_domains_validator
        @external_domains_validator ||= external_domains.reject(&:deleted).each do |domain|
          errors.add(:external_domains, I18n.t("decidim.admin.domain_allowlist.form.domain_too_short")) if domain.value.length <= 3
        end.map(&:value).uniq
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
decidim-admin-0.29.2 app/forms/decidim/admin/organization_external_domain_allowlist_form.rb
decidim-admin-0.29.1 app/forms/decidim/admin/organization_external_domain_allowlist_form.rb
decidim-admin-0.29.0 app/forms/decidim/admin/organization_external_domain_allowlist_form.rb
decidim-admin-0.29.0.rc4 app/forms/decidim/admin/organization_external_domain_allowlist_form.rb
decidim-admin-0.29.0.rc3 app/forms/decidim/admin/organization_external_domain_allowlist_form.rb
decidim-admin-0.29.0.rc2 app/forms/decidim/admin/organization_external_domain_allowlist_form.rb
decidim-admin-0.29.0.rc1 app/forms/decidim/admin/organization_external_domain_allowlist_form.rb