diff --git a/app/assets/javascripts/globalize.js.coffee b/app/assets/javascripts/globalize.js.coffee index 10c50b1c8..e53383ceb 100644 --- a/app/assets/javascripts/globalize.js.coffee +++ b/app/assets/javascripts/globalize.js.coffee @@ -22,14 +22,11 @@ App.Globalize = element.addClass('highlight'); remove_language: (locale) -> - $(".js-globalize-attribute[data-locale=" + locale + "]").val('') - $(".js-globalize-attribute[data-locale=" + locale + "]").hide() + $(".js-globalize-attribute[data-locale=" + locale + "]").val('').hide() $(".js-globalize-locale-link[data-locale=" + locale + "]").hide() - $("#delete-" + locale).hide() next = $(".js-globalize-locale-link:visible").first() App.Globalize.highlight_locale(next) - $(".js-globalize-attribute[data-locale=" + next.data("locale") + "]").show() - $("#delete-" + next.data("locale")).show() + App.Globalize.display_translations(next.data("locale")) $("#delete_translations_" + locale).val(1) initialize: -> diff --git a/app/controllers/admin/budget_investment_milestones_controller.rb b/app/controllers/admin/budget_investment_milestones_controller.rb index 13bfb6460..d2fdf5700 100644 --- a/app/controllers/admin/budget_investment_milestones_controller.rb +++ b/app/controllers/admin/budget_investment_milestones_controller.rb @@ -48,7 +48,7 @@ class Admin::BudgetInvestmentMilestonesController < Admin::BaseController attributes = [:title, :description, :publication_date, :budget_investment_id, image_attributes: image_attributes, documents_attributes: documents_attributes] - params.require(:budget_investment_milestone).permit(*attributes, translation_params) + params.require(:budget_investment_milestone).permit(*attributes, translation_params(params[:budget_investment_milestone])) end def load_budget_investment @@ -56,7 +56,19 @@ class Admin::BudgetInvestmentMilestonesController < Admin::BaseController end def load_budget_investment_milestone - @milestone = Budget::Investment::Milestone.find(params[:id]) + @milestone = get_milestone + end + + def get_milestone + Budget::Investment::Milestone.find(params[:id]) + end + + def resource_model + Budget::Investment::Milestone + end + + def resource + get_milestone end end diff --git a/app/controllers/concerns/translatable.rb b/app/controllers/concerns/translatable.rb index 50cbf2cfe..4b4b14d87 100644 --- a/app/controllers/concerns/translatable.rb +++ b/app/controllers/concerns/translatable.rb @@ -8,9 +8,8 @@ module Translatable private - def translation_params - Budget::Investment::Milestone.globalize_attribute_names. - select { |k, v| params[:budget_investment_milestone].include?(k.to_sym) && params[:budget_investment_milestone][k].present? } + def translation_params(params) + resource_model.globalize_attribute_names.select { |k, v| params.include?(k.to_sym) && params[k].present? } end def set_translation_locale @@ -18,12 +17,11 @@ module Translatable end def delete_translations - locales = Budget::Investment::Milestone.globalize_locales. + locales = resource_model.globalize_locales. select { |k, v| params[:delete_translations].include?(k.to_sym) && params[:delete_translations][k] == "1" } - milestone = Budget::Investment::Milestone.find(params[:id]) locales.each do |l| Globalize.with_locale(l) do - milestone.translation.destroy + resource.translation.destroy end end end diff --git a/app/helpers/globalize_helper.rb b/app/helpers/globalize_helper.rb index 31b73e6ba..97dfeab66 100644 --- a/app/helpers/globalize_helper.rb +++ b/app/helpers/globalize_helper.rb @@ -1,9 +1,5 @@ module GlobalizeHelper - def globalize_locale - params[:globalize_locale] || I18n.locale - end - def options_for_locale_select options_for_select(locale_options, nil) end @@ -15,27 +11,19 @@ module GlobalizeHelper end def display_translation?(locale) - neutral_locale(I18n.locale) == neutral_locale(locale) ? "" : "display: none" + same_locale?(neutral_locale(I18n.locale), neutral_locale(locale)) ? "" : "display: none" end def css_to_display_translation?(resource, locale) resource.translated_locales.include?(neutral_locale(locale)) || locale == I18n.locale ? "" : "display: none" end - def disable_translation?(locale) - locale == "en" ? "" : "disabled" - end - - def css_for_globalize_locale(locale) - globalize_locale == locale ? "highlight" : "" - end - def highlight_current?(locale) - I18n.locale == locale ? 'highlight' : '' + same_locale?(I18n.locale, locale) ? 'highlight' : '' end def show_delete?(locale) - I18n.locale == locale ? '' : 'display: none' + display_translation?(locale) end def neutral_locale(locale) @@ -48,4 +36,8 @@ module GlobalizeHelper end end + def same_locale?(locale1, locale2) + locale1 == locale2 + end + end diff --git a/app/views/admin/budget_investment_milestones/_form.html.erb b/app/views/admin/budget_investment_milestones/_form.html.erb index 28bb80537..d63942cc9 100644 --- a/app/views/admin/budget_investment_milestones/_form.html.erb +++ b/app/views/admin/budget_investment_milestones/_form.html.erb @@ -1,5 +1,5 @@
- <% globalize(neutral_locale(locale)) do %> - <%= text_with_links milestone.description %> - <% end %> -
- <% if milestone.documents.present? %> -- - <%= t("shared.documentation") %> -
- <% milestone.documents.each do |document| %> - <%= link_to document.title, - document.attachment.url, - target: "_blank", - rel: "nofollow" %>- <% globalize(neutral_locale(locale)) do %> + <% globalize(neutral_locale(locale)) do %> +
<%= text_with_links milestone.description %> - <% end %> -
+ + <% end %> <% if milestone.documents.present? %>