Class: Decidim::Proposals::Admin::ImportParticipatoryTextForm

Inherits:
Form
  • Object
show all
Includes:
TranslatableAttributes
Defined in:
app/forms/decidim/proposals/admin/import_participatory_text_form.rb

Overview

A form object to be used when admin users want to import a collection of proposals from a participatory text.

Constant Summary collapse

ACCEPTED_MIME_TYPES =
Decidim::Proposals::DocToMarkdown::ACCEPTED_MIME_TYPES

Instance Method Summary collapse

Instance Method Details

#accepted_mime_typeObject



32
33
34
35
36
37
38
39
40
41
# File 'app/forms/decidim/proposals/admin/import_participatory_text_form.rb', line 32

def accepted_mime_type
  accepted_mime_types = ACCEPTED_MIME_TYPES.values + [Decidim::Proposals::DocToMarkdown::TEXT_PLAIN_MIME_TYPE]
  return if accepted_mime_types.include?(document_type)

  errors.add(:document,
             I18n.t("activemodel.errors.models.participatory_text.attributes.document.invalid_document_type",
                    valid_mime_types: ACCEPTED_MIME_TYPES.keys.map do |m|
                      I18n.t("decidim.proposals.admin.participatory_texts.new_import.accepted_mime_types.#{m}")
                    end.join(", ")))
end

#default_localeObject



20
21
22
# File 'app/forms/decidim/proposals/admin/import_participatory_text_form.rb', line 20

def default_locale
  current_participatory_space.organization.default_locale
end

#document_textObject



24
25
26
# File 'app/forms/decidim/proposals/admin/import_participatory_text_form.rb', line 24

def document_text
  @document_text ||= document&.read
end

#document_typeObject



28
29
30
# File 'app/forms/decidim/proposals/admin/import_participatory_text_form.rb', line 28

def document_type
  document.content_type
end