Class: Decidim::Admin::TaxonomyFilterForm
Overview
A form object to create or update areas.
Defined Under Namespace
Classes: Item, Manifest
Constant Summary
Decidim::AttributeObject::TypeMap::Boolean, Decidim::AttributeObject::TypeMap::Decimal
Instance Attribute Summary
#context
Instance Method Summary
collapse
#attachment?, #default_locale?
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
#[], #[]=, #attributes, #attributes_with_values, #initialize, #to_h
Instance Method Details
#available_participatory_space_manifests ⇒ Object
53
54
55
56
57
58
59
60
|
# File 'decidim-admin/app/forms/decidim/admin/taxonomy_filter_form.rb', line 53
def available_participatory_space_manifests
@participatory_space_manifests ||= Decidim.participatory_space_manifests.map do |manifest|
Manifest.new(
id: manifest.name.to_s,
name: I18n.t("decidim.admin.taxonomy_filters.space_filter_for.#{manifest.name}")
)
end
end
|
#filter_items ⇒ Object
37
38
39
40
41
|
# File 'decidim-admin/app/forms/decidim/admin/taxonomy_filter_form.rb', line 37
def filter_items
taxonomy_items.map do |item|
Decidim::TaxonomyFilterItem.new(taxonomy_item_id: item)
end
end
|
#items_collection ⇒ Object
43
44
45
46
47
|
# File 'decidim-admin/app/forms/decidim/admin/taxonomy_filter_form.rb', line 43
def items_collection
return [] unless root_taxonomy
@items_collection ||= map_items_collection(root_taxonomy)
end
|
#map_model(model) ⇒ Object
22
23
24
25
26
27
|
# File 'decidim-admin/app/forms/decidim/admin/taxonomy_filter_form.rb', line 22
def map_model(model)
self.root_taxonomy_id = model.root_taxonomy_id
self.taxonomy_items = model.filter_items.map(&:taxonomy_item_id)
self.name = {} if model.attributes["name"]&.compact_blank.blank?
self.internal_name = {} if model.attributes["internal_name"]&.compact_blank.blank?
end
|
#participatory_space_manifests ⇒ Object
33
34
35
|
# File 'decidim-admin/app/forms/decidim/admin/taxonomy_filter_form.rb', line 33
def participatory_space_manifests
super.compact_blank
end
|
#root_taxonomy ⇒ Object
49
50
51
|
# File 'decidim-admin/app/forms/decidim/admin/taxonomy_filter_form.rb', line 49
def root_taxonomy
@root_taxonomy ||= current_organization.taxonomies.find_by(id: root_taxonomy_id)
end
|
#taxonomy_items ⇒ Object
29
30
31
|
# File 'decidim-admin/app/forms/decidim/admin/taxonomy_filter_form.rb', line 29
def taxonomy_items
super.compact_blank
end
|