Class: Decidim::Assemblies::Admin::AssemblyForm

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

Overview

A form object used to create assemblies from the admin dashboard.

Constant Summary collapse

ASSEMBLY_TYPES =
%w(government executive consultative_advisory participatory working_group commission others).freeze
CREATED_BY =
%w(city_council public others).freeze

Instance Method Summary collapse

Instance Method Details

#areaObject



84
85
86
# File 'app/forms/decidim/assemblies/admin/assembly_form.rb', line 84

def area
  @area ||= current_organization.areas.find_by(id: area_id)
end

#assembly_types_for_selectObject



88
89
90
91
92
93
94
95
# File 'app/forms/decidim/assemblies/admin/assembly_form.rb', line 88

def assembly_types_for_select
  ASSEMBLY_TYPES.map do |type|
    [
      I18n.t("assembly_types.#{type}", scope: "decidim.assemblies"),
      type
    ]
  end
end

#created_by_for_selectObject



97
98
99
100
101
102
103
104
# File 'app/forms/decidim/assemblies/admin/assembly_form.rb', line 97

def created_by_for_select
  CREATED_BY.map do |by|
    [
      I18n.t("created_by.#{by}", scope: "decidim.assemblies"),
      by
    ]
  end
end

#map_model(model) ⇒ Object



76
77
78
# File 'app/forms/decidim/assemblies/admin/assembly_form.rb', line 76

def map_model(model)
  self.scope_id = model.decidim_scope_id
end

#parentObject



106
107
108
# File 'app/forms/decidim/assemblies/admin/assembly_form.rb', line 106

def parent
  @parent ||= OrganizationAssemblies.new(current_organization).query.find_by(id: parent_id)
end

#processes_for_selectObject



110
111
112
113
114
115
116
117
118
# File 'app/forms/decidim/assemblies/admin/assembly_form.rb', line 110

def processes_for_select
  @processes_for_select ||= Decidim.find_participatory_space_manifest(:participatory_processes)
                                   .participatory_spaces.call(current_organization)&.order(title: :asc)&.map do |process|
    [
      translated_attribute(process.title),
      process.id
    ]
  end
end

#scopeObject



80
81
82
# File 'app/forms/decidim/assemblies/admin/assembly_form.rb', line 80

def scope
  @scope ||= current_organization.scopes.find_by(id: scope_id)
end