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) |