Files
nairobi/app/controllers/concerns/translatable.rb
Javi Martín 4d238c5d07 Fix crash updating legislation process categories
We were expecting translation parameters in legislation processes
`update` action. However, those parameters aren't sent when we get to
that action through the "proposals" tab.
2018-09-19 14:54:52 +02:00

35 lines
852 B
Ruby

module Translatable
extend ActiveSupport::Concern
included do
before_action :delete_translations, only: [:update]
end
private
def translation_params(resource_model)
return [] unless params[:enabled_translations]
resource_model.translated_attribute_names.product(enabled_translations).map do |attr_name, loc|
resource_model.localized_attr_name_for(attr_name, loc)
end
end
def delete_translations
locales = resource.translated_locales
.select { |l| params.dig(:enabled_translations, l) == "0" }
locales.each do |l|
Globalize.with_locale(l) do
resource.translation.destroy
end
end
end
def enabled_translations
params.fetch(:enabled_translations)
.select { |_, v| v == '1' }
.keys
end
end