app/components/sdg_management/local_targets/form_component.rb
class SDGManagement::LocalTargets::FormComponent < ApplicationComponent
include Header
include TranslatableFormHelper
include GlobalizeHelper
attr_reader :local_target
def initialize(local_target)
@local_target = local_target
end
private
def title
if local_target.persisted?
t("sdg_management.local_targets.edit.title")
else
t("sdg_management.local_targets.new.title")
end
end
def form_url
if local_target.persisted?
sdg_management_local_target_path(local_target)
else
sdg_management_local_targets_path
end
end
def target_options
grouped_targets = SDG::Goal.order(:code).map do |goal|
[
goal.code_and_title,
goal.targets.sort.map { |target| [target.code_and_title, target.id] }
]
end
grouped_options_for_select(grouped_targets, local_target.target_id)
end
end