Defect #31287 » fixed-31287.patch
| app/controllers/wiki_controller.rb | ||
|---|---|---|
| 303 | 303 | # Export wiki to a single pdf or html file | 
| 304 | 304 | def export | 
| 305 | 305 | @pages = @wiki.pages. | 
| 306 |                       order('title'). | |
| 307 | 306 |                       includes([:content, {:attachments => :author}]). | 
| 308 | 307 | to_a | 
| 309 | 308 | respond_to do |format| | 
| ... | ... | |
| 388 | 387 | |
| 389 | 388 | def load_pages_for_index | 
| 390 | 389 | @pages = @wiki.pages.with_updated_on. | 
| 391 |                 reorder("#{WikiPage.table_name}.title"). | |
| 392 | 390 | includes(:wiki => :project). | 
| 393 | 391 | includes(:parent). | 
| 394 | 392 | to_a | 
| app/models/wiki.rb | ||
|---|---|---|
| 20 | 20 | class Wiki < ActiveRecord::Base | 
| 21 | 21 | include Redmine::SafeAttributes | 
| 22 | 22 | belongs_to :project | 
| 23 |   has_many :pages, lambda {order('title')}, :class_name => 'WikiPage', :dependent => :destroy | |
| 23 |   has_many :pages, lambda {order(Arel.sql('LOWER(title)').asc)}, :class_name => 'WikiPage', :dependent => :destroy | |
| 24 | 24 | has_many :redirects, :class_name => 'WikiRedirect' | 
| 25 | 25 | |
| 26 | 26 | acts_as_watchable | 
| app/views/wiki/export_multiple.html.erb | ||
|---|---|---|
| 22 | 22 | |
| 23 | 23 | <% @pages.each do |page| %> | 
| 24 | 24 | <hr /> | 
| 25 | <a name="<%= page.title %>" /> | |
| 25 | <a name="<%= page.title %>"></a> | |
| 26 | 26 | <%= textilizable page.content ,:text, :wiki_links => :anchor, :only_path => false %> | 
| 27 | 27 | <% end %> | 
| 28 | 28 | |
| test/functional/wiki_controller_test.rb | ||
|---|---|---|
| 989 | 989 | end | 
| 990 | 990 | |
| 991 | 991 | assert_select 'ul.pages-hierarchy' do | 
| 992 | assert_select 'li' do | |
| 993 | assert_select 'a[href=?]', '/projects/ecookbook/wiki/CookBook_documentation', :text => 'CookBook documentation' | |
| 992 | assert_select 'li:nth-child(1) > a[href=?]', '/projects/ecookbook/wiki/Another_page', :text => 'Another page' | |
| 993 | assert_select 'li:nth-child(2)' do | |
| 994 | assert_select '> a[href=?]', '/projects/ecookbook/wiki/CookBook_documentation', :text => 'CookBook documentation' | |
| 994 | 995 | assert_select 'ul li a[href=?]', '/projects/ecookbook/wiki/Page_with_an_inline_image', :text => 'Page with an inline image' | 
| 995 | 996 | end | 
| 996 | assert_select 'li a[href=?]', '/projects/ecookbook/wiki/Another_page', :text => 'Another page' | |
| 997 | 997 | end | 
| 998 | 998 | end | 
| 999 | 999 | |
| ... | ... | |
| 1009 | 1009 | assert_response :success | 
| 1010 | 1010 | assert_equal "text/html", @response.content_type | 
| 1011 | 1011 | |
| 1012 | assert_select 'ul.pages-hierarchy' do | |
| 1013 | assert_select 'li:nth-child(1) > a[href=?]', '#Another_page', :text => 'Another page' | |
| 1014 | assert_select 'li:nth-child(2) > a[href=?]', '#CookBook_documentation', :text => 'CookBook documentation' | |
| 1015 | assert_select 'li:nth-child(3) > a[href=?]', '#Page_with_sections', :text => 'Page with sections' | |
| 1016 | end | |
| 1012 | 1017 | assert_select "a[name=?]", "CookBook_documentation" | 
| 1013 | 1018 | assert_select "a[name=?]", "Another_page" | 
| 1014 | 1019 | assert_select "a[name=?]", "Page_with_an_inline_image" | 
| test/unit/wiki_test.rb | ||
|---|---|---|
| 52 | 52 |     assert_equal page, wiki.find_page('ANOTHER page') | 
| 53 | 53 | end | 
| 54 | 54 | |
| 55 | def test_ordering_pages_should_not_be_case_sensitive | |
| 56 | wiki = Wiki.find(1) | |
| 57 | wiki.pages.destroy_all | |
| 58 | %w(Acc ABc Aace_ Aac).each do |title| | |
| 59 | wiki.pages.create(:title => title) | |
| 60 | end | |
| 61 | wiki.reload | |
| 62 | assert_equal %w(Aac Aace_ ABc Acc), wiki.pages.pluck(:title) | |
| 63 | end | |
| 64 | ||
| 55 | 65 | def test_find_page_with_cyrillic_characters | 
| 56 | 66 | wiki = Wiki.find(1) | 
| 57 | 67 | page = WikiPage.find(10) |