Class: Decidim::Assemblies::Admin::AssemblyForm
- Inherits:
-
Form
- Object
- Decidim::AttributeObject::Form
- Form
- Decidim::Assemblies::Admin::AssemblyForm
- Defined in:
- decidim-assemblies/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
Constants included from Decidim::AttributeObject::TypeMap
Decidim::AttributeObject::TypeMap::Boolean, Decidim::AttributeObject::TypeMap::Decimal
Instance Attribute Summary
Attributes inherited from Decidim::AttributeObject::Form
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
Methods included from HasUploadValidations
#attached_uploader, #maximum_avatar_size, #maximum_upload_size
Methods included from TranslatableAttributes
#attachment?, #default_locale?
Methods inherited from Decidim::AttributeObject::Form
ensure_hash, from_model, from_params, hash_from, infer_model_name, #map_model, mimic, mimicked_model_name, model_name, #persisted?, #to_key, #to_model, #to_param, #valid?, #with_context
Methods included from Decidim::AttributeObject::Model
#[], #[]=, #attributes, #attributes_with_values, #initialize, #to_h
Instance Method Details
#created_by_for_select ⇒ Object
91 92 93 94 95 96 97 98 |
# File 'decidim-assemblies/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 'decidim-assemblies/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 'decidim-assemblies/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 'decidim-assemblies/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 'decidim-assemblies/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 |