From f7127e9466861af2a8ea11624e619e6567890a36 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sat, 12 Mar 2011 13:42:29 +0000 Subject: [PATCH] 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 --- app/models/wiki.rb | 4 ++-- test/unit/wiki_test.rb | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/models/wiki.rb b/app/models/wiki.rb index c83bd1922..eb521c99a 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 8fa937c53..10c00820c 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 -- 2.39.5