diff options
Diffstat (limited to 'app/controllers/revisions_controller.rb')
| -rw-r--r-- | app/controllers/revisions_controller.rb | 16 |
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 |
