summaryrefslogtreecommitdiff
path: root/app/controllers/revisions_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/revisions_controller.rb')
-rw-r--r--app/controllers/revisions_controller.rb16
1 files changed, 12 insertions, 4 deletions
diff --git a/app/controllers/revisions_controller.rb b/app/controllers/revisions_controller.rb
index 9acb26f..4b0c549 100644
--- a/app/controllers/revisions_controller.rb
+++ b/app/controllers/revisions_controller.rb
@@ -21,10 +21,18 @@ class RevisionsController < ApplicationController
21 params[:start_revision], params[:end_revision] = 1, 1 21 params[:start_revision], params[:end_revision] = 1, 1
22 end 22 end
23 23
24 @start = @node.pages.find_by_revision( params[:start_revision] ) 24 @start = @node.resolve_page_reference(params[:start_revision])
25 @end = @node.pages.find_by_revision( params[:end_revision] ) 25 @end = @node.resolve_page_reference(params[:end_revision])
26 @diff_view = params[:view] == "side_by_side" ? :side_by_side : :inline 26
27 @diff = @end.diff_against( @start, view: @diff_view ) 27 if @start.nil? || @end.nil?
28 flash[:error] = "That comparison is no longer available."
29 redirect_to(node_path(@node)) and return
30 end
31
32 @diff_view = params[:view] == "side_by_side" ? :side_by_side : :inline
33 @diff = @end.diff_against(@start, view: @diff_view)
34 @available_layer_pairs = @node.available_layer_pairs
35 @locked_by_other = @node.locked? && @node.lock_owner != current_user
28 end 36 end
29 37
30 def show 38 def show