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 2 before_filter :authorize_read_wiki!
3 3 before_filter :authorize_write_wiki!, only: [:edit, :create, :history]
4 4 before_filter :authorize_admin_wiki!, only: :destroy
5   -
  5 +
6 6 def pages
7   - @wikis = @project.wikis.group(:slug).order("created_at")
  7 + @wiki_pages = @project.wikis.group(:slug).ordered
8 8 end
9 9  
10 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 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 15 end
16 16  
17 17 @note = @project.notes.new(noteable: @wiki)
... ... @@ -29,7 +29,7 @@ class WikisController < ProjectResourceController
29 29 end
30 30  
31 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 33 @wiki = Wiki.regenerate_from @wiki
34 34 end
35 35  
... ... @@ -47,9 +47,9 @@ class WikisController < ProjectResourceController
47 47 end
48 48  
49 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 51 end
52   -
  52 +
53 53 def destroy
54 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 25  
26 26 before_update :set_slug
27 27  
  28 + scope :ordered, order("created_at DESC")
  29 +
28 30 def to_param
29 31 slug
30 32 end
... ...