Sha256: 8f82d260e7b17ac855f9948b1d13f39a0da1055671995e5b16ac57cfc302d477

Contents?: true

Size: 1.2 KB

Versions: 71

Compression:

Stored size: 1.2 KB

Contents

# frozen_string_literal: true

module Decidim
  module Verifications
    module IdDocuments
      # A form object to be used as the base for identity document verification
      module Admin
        class ConfigForm < Decidim::Form
          include TranslatableAttributes
          mimic :config

          attribute :offline, Boolean
          attribute :online, Boolean
          translatable_attribute :offline_explanation, String

          validates :offline_explanation, translatable_presence: true, if: :offline
          validate :has_some_method_selected?

          def map_model(model)
            self.online = model.id_documents_methods.include?("online")
            self.offline = model.id_documents_methods.include?("offline")
            self.offline_explanation = model.id_documents_explanation_text
          end

          def has_some_method_selected?
            return if online || offline

            errors.add(:online, :invalid)
            errors.add(:offline, :invalid)
          end

          def selected_methods
            methods = []
            methods << "offline" if offline
            methods << "online" if online
            methods
          end
        end
      end
    end
  end
end

Version data entries

71 entries across 71 versions & 1 rubygems

Version Path
decidim-verifications-0.29.1 app/forms/decidim/verifications/id_documents/admin/config_form.rb
decidim-verifications-0.28.4 app/forms/decidim/verifications/id_documents/admin/config_form.rb
decidim-verifications-0.27.9 app/forms/decidim/verifications/id_documents/admin/config_form.rb
decidim-verifications-0.29.0 app/forms/decidim/verifications/id_documents/admin/config_form.rb
decidim-verifications-0.28.3 app/forms/decidim/verifications/id_documents/admin/config_form.rb
decidim-verifications-0.27.8 app/forms/decidim/verifications/id_documents/admin/config_form.rb
decidim-verifications-0.29.0.rc4 app/forms/decidim/verifications/id_documents/admin/config_form.rb
decidim-verifications-0.29.0.rc3 app/forms/decidim/verifications/id_documents/admin/config_form.rb
decidim-verifications-0.29.0.rc2 app/forms/decidim/verifications/id_documents/admin/config_form.rb
decidim-verifications-0.29.0.rc1 app/forms/decidim/verifications/id_documents/admin/config_form.rb
decidim-verifications-0.28.2 app/forms/decidim/verifications/id_documents/admin/config_form.rb
decidim-verifications-0.27.7 app/forms/decidim/verifications/id_documents/admin/config_form.rb
decidim-verifications-0.28.1 app/forms/decidim/verifications/id_documents/admin/config_form.rb
decidim-verifications-0.27.6 app/forms/decidim/verifications/id_documents/admin/config_form.rb
decidim-verifications-0.26.10 app/forms/decidim/verifications/id_documents/admin/config_form.rb
decidim-verifications-0.26.9 app/forms/decidim/verifications/id_documents/admin/config_form.rb
decidim-verifications-0.28.0 app/forms/decidim/verifications/id_documents/admin/config_form.rb
decidim-verifications-0.27.5 app/forms/decidim/verifications/id_documents/admin/config_form.rb
decidim-verifications-0.28.0.rc5 app/forms/decidim/verifications/id_documents/admin/config_form.rb
decidim-verifications-0.28.0.rc4 app/forms/decidim/verifications/id_documents/admin/config_form.rb