summaryrefslogtreecommitdiff
path: root/app/controllers
diff options
context:
space:
mode:
authorhukl <contact@smyck.org>2009-10-07 23:36:03 +0200
committerhukl <contact@smyck.org>2009-10-07 23:36:03 +0200
commit262f4e0c2abfefbd6965358fdfd9a8c332a38d57 (patch)
tree91055edbbbec337ffd8745239b9d3ccdd8aebb9a /app/controllers
parentd3271f55b56e0fb5f73cf5691f90be9370d85d80 (diff)
refactored revsions controller to act as a nested resource of nodes. boy that cleaned up some stuff quite a bit. also having tests for that is just feeling great
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/revisions_controller.rb21
1 files changed, 7 insertions, 14 deletions
diff --git a/app/controllers/revisions_controller.rb b/app/controllers/revisions_controller.rb
index 32110ae..05e8acc 100644
--- a/app/controllers/revisions_controller.rb
+++ b/app/controllers/revisions_controller.rb
@@ -7,12 +7,12 @@ class RevisionsController < ApplicationController
7 layout 'admin' 7 layout 'admin'
8 8
9 def index 9 def index
10 @node = Node.find(params[:node_id])
10 end 11 end
11 12
12 def diff 13 def diff
13 @node = Node.find(params[:id]) 14 @node = Node.find(params[:node_id])
14 15
15 puts @node.pages.length
16 if @node.pages.length > 1 16 if @node.pages.length > 1
17 params[:start_revision] ||= @node.pages.all[-2].revision 17 params[:start_revision] ||= @node.pages.all[-2].revision
18 params[:end_revision] ||= @node.pages.all[-1].revision 18 params[:end_revision] ||= @node.pages.all[-1].revision
@@ -20,26 +20,19 @@ class RevisionsController < ApplicationController
20 params[:start], params[:end] = 1, 1 20 params[:start], params[:end] = 1, 1
21 end 21 end
22 22
23 @start = Page.find( :first, :conditions => { 23 @start = @node.pages.find_by_revision( params[:start_revision] )
24 :node_id => params[:id], 24 @end = @node.pages.find_by_revision( params[:end_revision] )
25 :revision => params[:start_revision]
26 })
27
28 @end = Page.find( :first, :conditions => {
29 :node_id => params[:id],
30 :revision => params[:end_revision]
31 })
32
33 end 25 end
34 26
35 def show 27 def show
36 @node = Node.find(params[:id]) 28 @node = Node.find(params[:node_id])
29 @page = @node.pages.find(params[:id])
37 end 30 end
38 31
39 def restore 32 def restore
40 page = Page.find(params[:id]) 33 page = Page.find(params[:id])
41 page.node.restore_revision! page.revision 34 page.node.restore_revision! page.revision
42 flash[:notice] = "Revision #{page.revision} restored" 35 flash[:notice] = "Revision #{page.revision} restored"
43 redirect_to :back 36 redirect_to node_path(page.node)
44 end 37 end
45end 38end