Class: Decidim::Accountability::Admin::ImportComponentForm
Overview
A form object to be used when admin users want to import results from another component into Accountability component.
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, #map_model, 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
#filtered_items ⇒ Object
40
41
42
43
44
45
46
47
48
|
# File 'decidim-accountability/app/forms/decidim/accountability/admin/import_component_form.rb', line 40
def filtered_items
if origin_component.manifest_name == "budgets"
filtered_budget_projects
elsif origin_component.manifest_name == "proposals"
filtered_proposals
else
raise "Invalid component"
end
end
|
#origin_component ⇒ Object
18
19
20
|
# File 'decidim-accountability/app/forms/decidim/accountability/admin/import_component_form.rb', line 18
def origin_component
@origin_component ||= origin_components.find_by(id: origin_component_id)
end
|
#origin_components ⇒ Object
22
23
24
|
# File 'decidim-accountability/app/forms/decidim/accountability/admin/import_component_form.rb', line 22
def origin_components
@origin_components ||= current_participatory_space.components.where(manifest_name: %w(budgets proposals))
end
|
#origin_components_collection ⇒ Object
26
27
28
29
30
|
# File 'decidim-accountability/app/forms/decidim/accountability/admin/import_component_form.rb', line 26
def origin_components_collection
origin_components.map do |component|
[component.name[I18n.locale.to_s], component.id]
end
end
|
#project_already_copied?(original_project) ⇒ Boolean
50
51
52
53
54
|
# File 'decidim-accountability/app/forms/decidim/accountability/admin/import_component_form.rb', line 50
def project_already_copied?(original_project)
original_project.linked_resources(:results, "included_projects").any? do |result|
result.component == current_component
end
end
|
#proposal_already_copied?(original_proposal) ⇒ Boolean
56
57
58
59
60
|
# File 'decidim-accountability/app/forms/decidim/accountability/admin/import_component_form.rb', line 56
def proposal_already_copied?(original_proposal)
original_proposal.linked_resources(:results, "included_proposals").any? do |result|
result.component == current_component
end
end
|
#proposal_states_collection ⇒ Object
32
33
34
35
36
|
# File 'decidim-accountability/app/forms/decidim/accountability/admin/import_component_form.rb', line 32
def proposal_states_collection
Decidim::Proposals::ProposalState.where(component: origin_component).map do |state|
[translated_attribute(state.title), state.id]
end
end
|