diff --git a/app/controllers/admin/communication/websites/pages_controller.rb b/app/controllers/admin/communication/websites/pages_controller.rb index c2bd3d98542e74dea93eb6178f5110e576cc886c..1bedef391e38b63046b23daeb021dea88ba776a1 100644 --- a/app/controllers/admin/communication/websites/pages_controller.rb +++ b/app/controllers/admin/communication/websites/pages_controller.rb @@ -52,7 +52,7 @@ class Admin::Communication::Websites::PagesController < Admin::Communication::We # If not found, duplicate the current page (with blocks and all) for given language @translation ||= @page.duplicate!(language_id: language.id) # Redirect to the translation - redirect_to [:admin @translation] + redirect_to [:admin, @translation.becomes(@translation.class.base_class)] end end diff --git a/app/models/communication/website/page.rb b/app/models/communication/website/page.rb index 7e6bf6c4c56a2b464b8c06e72acb7eb7487fcc93..f7bef5b8c5862325ba3936dc819fd06b8130c23b 100644 --- a/app/models/communication/website/page.rb +++ b/app/models/communication/website/page.rb @@ -148,13 +148,21 @@ class Communication::Website::Page < ApplicationRecord original_id: self.id, github_path: nil, published: false, - published_at: nil, **new_attributes ) + duplicate.featured_image.attach( + io: URI.open(featured_image.url), + filename: featured_image.filename.to_s, + content_type: featured_image.content_type + ) if featured_image.attached? duplicate.save - # TODO: - # Dupliquer les blocs - # Dupliquer le featured image + + blocks.ordered.each do |block| + block_duplicate = block.dup + block_duplicate.about = duplicate + block_duplicate.save + end + duplicate end protected diff --git a/app/views/admin/application/i18n/_widget.html.erb b/app/views/admin/application/i18n/_widget.html.erb index a4223335b2c7b1b06220c9555b684c56327c58a3..9f3419b302bdca3004218c715f3e13bf40f0fd92 100644 --- a/app/views/admin/application/i18n/_widget.html.erb +++ b/app/views/admin/application/i18n/_widget.html.erb @@ -12,7 +12,7 @@ <% about.website.languages.each do |language| %> <% next if language.id == about.language_id %> <li> - <%= link_to t("languages.#{language.iso_code}"), [:translate, :admin, about, iso_code: language.iso_code] %> + <%= link_to t("languages.#{language.iso_code}"), [:translate, :admin, about.becomes(about.class.base_class), iso_code: language.iso_code] %> </li> <% end %> </ol>