From: Jean-Philippe Lang Date: Sat, 12 Mar 2011 13:42:29 +0000 (+0000) Subject: Fixed: wiki page with backslash in title can not be found (#7589). X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=f7127e9466861af2a8ea11624e619e6567890a36;p=redminele%2Fredmine.git Fixed: wiki page with backslash in title can not be found (#7589). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5097 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/models/wiki.rb b/app/models/wiki.rb index c83bd192..eb521c99 100644 --- a/app/models/wiki.rb +++ b/app/models/wiki.rb @@ -46,10 +46,10 @@ class Wiki < ActiveRecord::Base def find_page(title, options = {}) title = start_page if title.blank? title = Wiki.titleize(title) - page = pages.first(:conditions => ["LOWER(title) LIKE LOWER(?)", title]) + page = pages.first(:conditions => ["LOWER(title) = LOWER(?)", title]) if !page && !(options[:with_redirect] == false) # search for a redirect - redirect = redirects.first(:conditions => ["LOWER(title) LIKE LOWER(?)", title]) + redirect = redirects.first(:conditions => ["LOWER(title) = LOWER(?)", title]) page = find_page(redirect.redirects_to, :with_redirect => false) if redirect end page diff --git a/test/unit/wiki_test.rb b/test/unit/wiki_test.rb index 8fa937c5..10c00820 100644 --- a/test/unit/wiki_test.rb +++ b/test/unit/wiki_test.rb @@ -20,7 +20,7 @@ require File.expand_path('../../test_helper', __FILE__) class WikiTest < ActiveSupport::TestCase - fixtures :wikis, :wiki_pages, :wiki_contents, :wiki_content_versions + fixtures :projects, :wikis, :wiki_pages, :wiki_contents, :wiki_content_versions def test_create wiki = Wiki.new(:project => Project.find(2)) @@ -49,6 +49,9 @@ class WikiTest < ActiveSupport::TestCase page = WikiPage.find(10) assert_equal page, wiki.find_page('Этика_менеджмента') + + page = WikiPage.generate!(:wiki => wiki, :title => '2009\\02\\09') + assert_equal page, wiki.find_page('2009\\02\\09') end def test_titleize