Commit 167f26b90d5b4d4b0306a6f0721444c4132141d8

Authored by Riyad Preukschas
1 parent 5aada8cc

Add an ordering scope to Wiki

app/controllers/wikis_controller.rb
@@ -2,16 +2,16 @@ class WikisController < ProjectResourceController @@ -2,16 +2,16 @@ class WikisController < ProjectResourceController
2 before_filter :authorize_read_wiki! 2 before_filter :authorize_read_wiki!
3 before_filter :authorize_write_wiki!, only: [:edit, :create, :history] 3 before_filter :authorize_write_wiki!, only: [:edit, :create, :history]
4 before_filter :authorize_admin_wiki!, only: :destroy 4 before_filter :authorize_admin_wiki!, only: :destroy
5 - 5 +
6 def pages 6 def pages
7 - @wikis = @project.wikis.group(:slug).order("created_at") 7 + @wiki_pages = @project.wikis.group(:slug).ordered
8 end 8 end
9 9
10 def show 10 def show
11 - if params[:old_page_id]  
12 - @wiki = @project.wikis.find(params[:old_page_id]) 11 + if params[:version_id]
  12 + @wiki = @project.wikis.find(params[:version_id])
13 else 13 else
14 - @wiki = @project.wikis.where(slug: params[:id]).order("created_at").last 14 + @wiki = @project.wikis.where(slug: params[:id]).ordered.first
15 end 15 end
16 16
17 @note = @project.notes.new(noteable: @wiki) 17 @note = @project.notes.new(noteable: @wiki)
@@ -29,7 +29,7 @@ class WikisController < ProjectResourceController @@ -29,7 +29,7 @@ class WikisController < ProjectResourceController
29 end 29 end
30 30
31 def edit 31 def edit
32 - @wiki = @project.wikis.where(slug: params[:id]).order("created_at").last 32 + @wiki = @project.wikis.where(slug: params[:id]).ordered.first
33 @wiki = Wiki.regenerate_from @wiki 33 @wiki = Wiki.regenerate_from @wiki
34 end 34 end
35 35
@@ -47,9 +47,9 @@ class WikisController < ProjectResourceController @@ -47,9 +47,9 @@ class WikisController < ProjectResourceController
47 end 47 end
48 48
49 def history 49 def history
50 - @wikis = @project.wikis.where(slug: params[:id]).order("created_at") 50 + @wiki_pages = @project.wikis.where(slug: params[:id]).ordered
51 end 51 end
52 - 52 +
53 def destroy 53 def destroy
54 @wikis = @project.wikis.where(slug: params[:id]).delete_all 54 @wikis = @project.wikis.where(slug: params[:id]).delete_all
55 55
app/models/wiki.rb
@@ -25,6 +25,8 @@ class Wiki < ActiveRecord::Base @@ -25,6 +25,8 @@ class Wiki < ActiveRecord::Base
25 25
26 before_update :set_slug 26 before_update :set_slug
27 27
  28 + scope :ordered, order("created_at DESC")
  29 +
28 def to_param 30 def to_param
29 slug 31 slug
30 end 32 end