Class: Decidim::Debates::Admin::DebateForm

Inherits:
Form
  • Object
show all
Includes:
TranslatableAttributes
Defined in:
decidim-debates/app/forms/decidim/debates/admin/debate_form.rb

Overview

This class holds a Form to create/update debates from Decidim's admin panel.

Instance Method Summary collapse

Methods included from TranslatableAttributes

#default_locale?

Instance Method Details

#categoryObject


38
39
40
41
42
# File 'decidim-debates/app/forms/decidim/debates/admin/debate_form.rb', line 38

def category
  return unless current_component

  @category ||= current_component.categories.find_by(id: decidim_category_id)
end

#map_model(model) ⇒ Object


30
31
32
33
34
35
36
# File 'decidim-debates/app/forms/decidim/debates/admin/debate_form.rb', line 30

def map_model(model)
  self.decidim_category_id = model.categorization.decidim_category_id if model.categorization
  presenter = DebatePresenter.new(model)

  self.title = presenter.title(all_locales: title.is_a?(Hash))
  self.description = presenter.description(all_locales: description.is_a?(Hash))
end

#scopeObject

Finds the Scope from the given decidim_scope_id, uses the compoenent scope if missing.

Returns a Decidim::Scope


47
48
49
# File 'decidim-debates/app/forms/decidim/debates/admin/debate_form.rb', line 47

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

#scope_idObject

Scope identifier

Returns the scope identifier related to the meeting


54
55
56
# File 'decidim-debates/app/forms/decidim/debates/admin/debate_form.rb', line 54

def scope_id
  @scope_id || scope&.id
end