Class: Decidim::Meetings::Admin::MeetingForm
- Inherits:
-
Form
- Object
- Form
- Decidim::Meetings::Admin::MeetingForm
- Includes:
- TranslatableAttributes
- Defined in:
- app/forms/decidim/meetings/admin/meeting_form.rb
Overview
This class holds a Form to create/update meetings from Decidim’s admin panel.
Instance Method Summary collapse
- #category ⇒ Object
-
#decidim_scope_id ⇒ Object
Scope identifier.
- #map_model(model) ⇒ Object
- #number_of_services ⇒ Object
- #organizer ⇒ Object
-
#scope ⇒ Object
Finds the Scope from the given decidim_scope_id, uses participatory space scope if missing.
- #services_to_persist ⇒ Object
Instance Method Details
#category ⇒ Object
80 81 82 83 |
# File 'app/forms/decidim/meetings/admin/meeting_form.rb', line 80 def category return unless current_component @category ||= categories.find_by(id: decidim_category_id) end |
#decidim_scope_id ⇒ Object
Scope identifier
Returns the scope identifier related to the meeting
76 77 78 |
# File 'app/forms/decidim/meetings/admin/meeting_form.rb', line 76 def decidim_scope_id @decidim_scope_id || scope&.id end |
#map_model(model) ⇒ Object
44 45 46 47 48 49 50 |
# File 'app/forms/decidim/meetings/admin/meeting_form.rb', line 44 def map_model(model) self.services = model.services.map do |service| MeetingServiceForm.new(service) end self.decidim_category_id = model.categorization.decidim_category_id if model.categorization end |
#number_of_services ⇒ Object
56 57 58 |
# File 'app/forms/decidim/meetings/admin/meeting_form.rb', line 56 def number_of_services services.size end |
#organizer ⇒ Object
60 61 62 |
# File 'app/forms/decidim/meetings/admin/meeting_form.rb', line 60 def organizer @organizer ||= current_organization.users.find_by(id: organizer_id) end |
#scope ⇒ Object
Finds the Scope from the given decidim_scope_id, uses participatory space scope if missing.
Returns a Decidim::Scope
69 70 71 |
# File 'app/forms/decidim/meetings/admin/meeting_form.rb', line 69 def scope @scope ||= @decidim_scope_id ? current_participatory_space.scopes.find_by(id: @decidim_scope_id) : current_participatory_space.scope end |
#services_to_persist ⇒ Object
52 53 54 |
# File 'app/forms/decidim/meetings/admin/meeting_form.rb', line 52 def services_to_persist services.reject(&:deleted) end |