Class: Decidim::Toggle::UpdateNameForm

Inherits:
Form
  • Object
show all
Includes:
Decidim::TranslatableAttributes
Defined in:
app/forms/decidim/toggle/update_name_form.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.from_model(organization) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'app/forms/decidim/toggle/update_name_form.rb', line 19

def self.from_model(organization)
  secondary_hosts = case organization.secondary_hosts
                    when Array
                      (organization.secondary_hosts || []).join("\n")
                    when String
                      organization.secondary_hosts
                    else
                      ""
                    end

  from_params(
    name: organization.name,
    host: organization.host,
    secondary_hosts:
  )
end

.from_params(params, additional_params = {}) ⇒ Object



36
37
38
39
40
41
42
43
44
45
# File 'app/forms/decidim/toggle/update_name_form.rb', line 36

def self.from_params(params, additional_params = {})
  params = params.to_h.with_indifferent_access if params.respond_to?(:to_h)
  attrs = params[:organization] || params
  name_hash = I18n.available_locales.to_h { |l| [l.to_s, attrs["name_#{l}"]] }.compact_blank
  if name_hash.present?
    params = params.dup
    params[:organization] = (params[:organization] || {}).merge(name: name_hash)
  end
  super(params, additional_params)
end

Instance Method Details

#clean_secondary_hostsObject



47
48
49
50
51
# File 'app/forms/decidim/toggle/update_name_form.rb', line 47

def clean_secondary_hosts
  return [] if secondary_hosts.blank?

  secondary_hosts.split("\n").map(&:chomp).select(&:present?)
end