summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorerdgeist <erdgeist@erdgeist.org>2026-07-13 16:36:38 +0200
committererdgeist <erdgeist@erdgeist.org>2026-07-13 16:36:38 +0200
commit0b6ae26f3b4c3c8278e569fa6644a544e996c25d (patch)
tree6c0e8dd23fa243e6bf7e6473aebae3f13ea20dea /config
parente2705119ba718d40ff4f29c00027c2dfecef01ce (diff)
Add per-node translation management: list, edit, destroy, compare
Replaces the old locale-switch-and-edit-the-same-screen workflow, which conflated presentation locale with content locale and let an editor silently drift into editing the wrong language with no persistent signal that anything had changed. Non-default-locale content now has its own explicit routes and screens, never sharing a route param with the ambient chrome locale. - PageTranslationsController: index/show/edit/update/destroy, scoped to Page.non_default_locales; update handles first-time creation too, so there's no separate new/create step. - Reads go through the actual PageTranslation row (Page#translation_summary), never through the Globalize fallback-bearing accessor -- fallback is correct for public rendering but wrong for editing, where a missing translation needs to look empty, not borrowed from another locale. - Translations ride on the page's own draft/head cycle; no independent publish state. - nodes#show gains a Translations section (per-locale Lock+Edit / Create+Lock, Destroy, a link into the read-only Compare view) and a locale indicator on its own default-locale content; nodes#edit, nodes#update, and nodes#autosave are pinned to the default locale via Globalize.with_locale regardless of the ambient route locale. - nodes#show no longer double-loads the node or calls wipe_draft! on every view (see previous commit for why that's now safe). - .preview_link_row is renamed .aligned_action_row now that it has a second real consumer.
Diffstat (limited to 'config')
-rw-r--r--config/routes.rb6
1 files changed, 6 insertions, 0 deletions
diff --git a/config/routes.rb b/config/routes.rb
index 5d61bae..38a497d 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -55,6 +55,12 @@ Cccms::Application.routes.draw do
55 put :revert 55 put :revert
56 end 56 end
57 57
58 resources :translations, controller: 'page_translations',
59 param: :translation_locale,
60 constraints: { translation_locale: /en/ },
61 only: [:index, :show, :edit, :update, :destroy]
62
63
58 resources :related_assets, only: [:create, :destroy, :update] do 64 resources :related_assets, only: [:create, :destroy, :update] do
59 collection do 65 collection do
60 get :search 66 get :search