summaryrefslogtreecommitdiff
path: root/app/controllers/revisions_controller.rb
diff options
context:
space:
mode:
authorerdgeist <erdgeist@erdgeist.org>2026-07-14 02:17:04 +0200
committererdgeist <erdgeist@erdgeist.org>2026-07-14 02:17:04 +0200
commit88ebeaac7fcf140cbab489e841bf9c197f84c4ea (patch)
treeff97b50deebdaa44eb6a40d8550e912457c2fb8f /app/controllers/revisions_controller.rb
parentc693069db6ddce4582209a1cf60a564f6947bd56 (diff)
Make revisions locale aware
Diffstat (limited to 'app/controllers/revisions_controller.rb')
-rw-r--r--app/controllers/revisions_controller.rb16
1 files changed, 13 insertions, 3 deletions
diff --git a/app/controllers/revisions_controller.rb b/app/controllers/revisions_controller.rb
index 0aed243..c5932a4 100644
--- a/app/controllers/revisions_controller.rb
+++ b/app/controllers/revisions_controller.rb
@@ -5,10 +5,11 @@ class RevisionsController < ApplicationController
5 before_action :login_required 5 before_action :login_required
6 6
7 layout 'admin' 7 layout 'admin'
8 8
9 def index 9 def index
10 @node = Node.find(params[:node_id]) 10 @node = Node.find(params[:node_id])
11 @pages = @node.pages.all 11 @pages = @node.pages.all
12 @locale = resolve_locale(params[:locale])
12 end 13 end
13 14
14 def diff 15 def diff
@@ -43,6 +44,7 @@ class RevisionsController < ApplicationController
43 def show 44 def show
44 @node = Node.find(params[:node_id]) 45 @node = Node.find(params[:node_id])
45 @page = @node.pages.find(params[:id]) 46 @page = @node.pages.find(params[:id])
47 @locale = resolve_locale(params[:locale])
46 end 48 end
47 49
48 def restore 50 def restore
@@ -51,4 +53,12 @@ class RevisionsController < ApplicationController
51 flash[:notice] = "Revision #{page.revision} restored" 53 flash[:notice] = "Revision #{page.revision} restored"
52 redirect_to node_path(page.node) 54 redirect_to node_path(page.node)
53 end 55 end
56
57 private
58
59 def resolve_locale(requested)
60 candidate = requested.presence&.to_sym
61 allowed = [I18n.default_locale] + Page.non_default_locales
62 allowed.include?(candidate) ? candidate : I18n.default_locale
63 end
54end 64end