summaryrefslogtreecommitdiff
path: root/app/controllers/shared_previews_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/shared_previews_controller.rb')
-rw-r--r--app/controllers/shared_previews_controller.rb9
1 files changed, 7 insertions, 2 deletions
diff --git a/app/controllers/shared_previews_controller.rb b/app/controllers/shared_previews_controller.rb
index a8a540f..d482466 100644
--- a/app/controllers/shared_previews_controller.rb
+++ b/app/controllers/shared_previews_controller.rb
@@ -1,9 +1,14 @@
1class SharedPreviewsController < ApplicationController 1class SharedPreviewsController < ApplicationController
2 def show 2 def show
3 @page = Page.find_by!(preview_token: params[:token]) 3 @page = Page.find_by!(preview_token: params[:token])
4 node = @page.node
4 5
5 if @page.node && @page.node.head_id == @page.id 6 was_published = @page.published_at.present?
6 redirect_to node_path(@page.node) 7 superseded = was_published && node && node.head_id != @page.id
8 currently_public = was_published && node && node.head_id == @page.id && @page.public?
9
10 if superseded || currently_public
11 redirect_to node_path(node)
7 return 12 return
8 end 13 end
9 14