Class: Decidim::Assemblies::Admin::AssemblyForm
- Inherits:
-
Form
- Object
- Form
- Decidim::Assemblies::Admin::AssemblyForm
- Includes:
- HasTaxonomyFormAttributes, HasUploadValidations, 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
- CREATED_BY =
%w(city_council public others).freeze
Instance Method Summary collapse
- #created_by_for_select ⇒ Object
- #ensure_parent_cannot_be_child ⇒ Object
- #parent ⇒ Object
- #participatory_space_manifest ⇒ Object
- #processes_for_select ⇒ Object
Instance Method Details
#created_by_for_select ⇒ Object
91 92 93 94 95 96 97 98 |
# File 'app/forms/decidim/assemblies/admin/assembly_form.rb', line 91 def created_by_for_select CREATED_BY.map do |creator| [ I18n.t("created_by.#{creator}", scope: "decidim.assemblies"), creator ] end end |
#ensure_parent_cannot_be_child ⇒ Object
84 85 86 87 88 89 |
# File 'app/forms/decidim/assemblies/admin/assembly_form.rb', line 84 def ensure_parent_cannot_be_child return if id.blank? available_assemblies = Decidim::Assemblies::ParentAssembliesForSelect.for(current_organization, Assembly.find(id)) errors.add(:parent, :invalid) unless available_assemblies.include? parent end |
#parent ⇒ Object
100 101 102 |
# File 'app/forms/decidim/assemblies/admin/assembly_form.rb', line 100 def parent @parent ||= organization_assemblies.find_by(id: parent_id) end |
#participatory_space_manifest ⇒ Object
80 81 82 |
# File 'app/forms/decidim/assemblies/admin/assembly_form.rb', line 80 def participatory_space_manifest :assemblies end |
#processes_for_select ⇒ Object
104 105 106 107 108 |
# File 'app/forms/decidim/assemblies/admin/assembly_form.rb', line 104 def processes_for_select @processes_for_select ||= organization_participatory_processes &.map { |pp| [translated_attribute(pp.title), pp.id] } &.sort_by { |arr| arr[0] } end |