From a936993a5a7bbe7bb4f679d3adc059929cd0d7c5 Mon Sep 17 00:00:00 2001 From: hukl Date: Sun, 15 Mar 2009 14:07:04 +0100 Subject: first revision and diff interface --- app/controllers/revisions_controller.rb | 29 +++++++++++++++++++++++++++++ app/helpers/revisions_helper.rb | 2 ++ app/views/revisions/diff.html.erb | 27 +++++++++++++++++++++++++++ app/views/revisions/index.html.erb | 2 ++ app/views/revisions/show.html.erb | 2 ++ 5 files changed, 62 insertions(+) create mode 100644 app/controllers/revisions_controller.rb create mode 100644 app/helpers/revisions_helper.rb create mode 100644 app/views/revisions/diff.html.erb create mode 100644 app/views/revisions/index.html.erb create mode 100644 app/views/revisions/show.html.erb (limited to 'app') diff --git a/app/controllers/revisions_controller.rb b/app/controllers/revisions_controller.rb new file mode 100644 index 0000000..20991ef --- /dev/null +++ b/app/controllers/revisions_controller.rb @@ -0,0 +1,29 @@ +class RevisionsController < ApplicationController + + layout 'admin' + + def index + end + + def diff + @node = Node.find(params[:id]) + + params[:start] ||= @node.pages.all[-1].revision + params[:end] ||= @node.pages.all[-2].revision + + @start = Page.find( :first, :conditions => { + :node_id => params[:id], + :revision => params[:start] + }) + + @end = Page.find( :first, :conditions => { + :node_id => params[:id], + :revision => params[:end] + }) + + end + + def show + end + +end diff --git a/app/helpers/revisions_helper.rb b/app/helpers/revisions_helper.rb new file mode 100644 index 0000000..fdb51f8 --- /dev/null +++ b/app/helpers/revisions_helper.rb @@ -0,0 +1,2 @@ +module RevisionsHelper +end diff --git a/app/views/revisions/diff.html.erb b/app/views/revisions/diff.html.erb new file mode 100644 index 0000000..bcbf560 --- /dev/null +++ b/app/views/revisions/diff.html.erb @@ -0,0 +1,27 @@ +

Revisions#diff

+ +<% form_tag url_for(:action => :diff), :method => :get do %> + <%= select_tag :start, options_for_select(@node.pages.map{|x| x.revision}, params[:start].to_i) %> + <%= select_tag :end, options_for_select(@node.pages.map{|x| x.revision}, params[:end].to_i) %> + <%= submit_tag 'Diff' %> +<% end %> + + + + + + +<%= javascript_include_tag 'cacycle_diff' %> + + +
\ No newline at end of file diff --git a/app/views/revisions/index.html.erb b/app/views/revisions/index.html.erb new file mode 100644 index 0000000..b41a77c --- /dev/null +++ b/app/views/revisions/index.html.erb @@ -0,0 +1,2 @@ +

Revisions#index

+

Find me in app/views/revisions/index.html.erb

diff --git a/app/views/revisions/show.html.erb b/app/views/revisions/show.html.erb new file mode 100644 index 0000000..20fc39c --- /dev/null +++ b/app/views/revisions/show.html.erb @@ -0,0 +1,2 @@ +

Revisions#show

+

Find me in app/views/revisions/show.html.erb

-- cgit v1.3