Class: Decidim::UserInterestScopeForm

Inherits:
Form show all
Defined in:
decidim-core/app/forms/decidim/user_interest_scope_form.rb

Overview

The form object that handles the data behind updating a user’s interests in their profile page.

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 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

#map_model(model_hash) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
# File 'decidim-core/app/forms/decidim/user_interest_scope_form.rb', line 13

def map_model(model_hash)
  scope = model_hash[:scope]
  user = model_hash[:user]

  self.id = scope.id
  self.name = scope.name
  self.checked = user.interested_scopes_ids.include?(scope.id)
  self.children = scope.children.map do |children_scope|
    UserInterestScopeForm.from_model(scope: children_scope, user:)
  end
end