summaryrefslogtreecommitdiff
path: root/app/controllers/pages_controller.rb
blob: 326fbd4abcd6ede49f361d5249876685492840ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class PagesController < ApplicationController
  
  # Private
  
  before_action :login_required

  def preview
    @page = Page.find(params[:id])
    unless @page.node
      node = Node.find_by(autosave_id: @page.id) ||
             Node.find_by(draft_id: @page.id) ||
             Node.find_by(head_id: @page.id)
      @page.node = node if node
    end

    node ||= @page.node
    if node && node.draft_id == @page.id && node.autosave
      @page = node.autosave
      @page.node = node
    end


    if @page
      template = @page.valid_template
      render(
        template: template,
        layout: "application"
      )
    end
  end
end