Class: Decidim::Conferences::Admin::ConferenceForm

Inherits:
Form show all
Includes:
HasUploadValidations, TranslatableAttributes
Defined in:
decidim-conferences/app/forms/decidim/conferences/admin/conference_form.rb

Overview

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

Constant Summary

Constants included from AttributeObject::TypeMap

AttributeObject::TypeMap::Boolean, AttributeObject::TypeMap::Decimal

Instance Attribute Summary

Attributes inherited from AttributeObject::Form

#context

Instance Method Summary collapse

Methods included from HasUploadValidations

#attached_uploader, #maximum_avatar_size, #maximum_upload_size

Methods included from TranslatableAttributes

#default_locale?

Methods inherited from AttributeObject::Form

ensure_hash, from_model, from_params, hash_from, infer_model_name, mimic, mimicked_model_name, model_name, #persisted?, #to_key, #to_model, #to_param, #valid?, #with_context

Methods included from AttributeObject::Model

#[], #[]=, #attributes, #attributes_with_values, #initialize, #to_h

Instance Method Details

#assemblies_for_selectObject



80
81
82
83
84
85
86
87
88
89
90
# File 'decidim-conferences/app/forms/decidim/conferences/admin/conference_form.rb', line 80

def assemblies_for_select
  return unless Decidim.participatory_space_manifests.map(&:name).include?(:assemblies)

  @assemblies_for_select ||= Decidim.find_participatory_space_manifest(:assemblies)
                                    .participatory_spaces.call(current_organization)&.order(title: :asc)&.map do |assembly|
    [
      translated_attribute(assembly.title),
      assembly.id
    ]
  end
end

#map_model(model) ⇒ Object



60
61
62
# File 'decidim-conferences/app/forms/decidim/conferences/admin/conference_form.rb', line 60

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

#processes_for_selectObject



68
69
70
71
72
73
74
75
76
77
78
# File 'decidim-conferences/app/forms/decidim/conferences/admin/conference_form.rb', line 68

def processes_for_select
  return unless Decidim.participatory_space_manifests.map(&:name).include?(:participatory_processes)

  @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



64
65
66
# File 'decidim-conferences/app/forms/decidim/conferences/admin/conference_form.rb', line 64

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