summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/helpers/application_helper.rb2
-rw-r--r--test/fixtures/wikis.yml5
-rw-r--r--test/unit/helpers/application_helper_test.rb4
3 files changed, 10 insertions, 1 deletions
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 2a5acc477..d1f359fbc 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -726,7 +726,7 @@ module ApplicationHelper
title ||= identifier if page.blank?
end
- if link_project && link_project.wiki
+ if link_project && link_project.wiki && User.current.allowed_to?(:view_wiki_pages, link_project)
# extract anchor
anchor = nil
if page =~ /^(.+?)\#(.+)$/
diff --git a/test/fixtures/wikis.yml b/test/fixtures/wikis.yml
index 7254fe687..56910cbbe 100644
--- a/test/fixtures/wikis.yml
+++ b/test/fixtures/wikis.yml
@@ -9,3 +9,8 @@ wikis_002:
start_page: Start page
project_id: 2
id: 2
+wikis_005:
+ status: 1
+ start_page: Wiki
+ project_id: 5
+ id: 5
diff --git a/test/unit/helpers/application_helper_test.rb b/test/unit/helpers/application_helper_test.rb
index e6530e5c5..943f7a452 100644
--- a/test/unit/helpers/application_helper_test.rb
+++ b/test/unit/helpers/application_helper_test.rb
@@ -665,6 +665,7 @@ RAW
end
def test_wiki_links
+ User.current = User.find_by_login('jsmith')
russian_eacape = CGI.escape(@russian_test)
to_test = {
'[[CookBook documentation]]' =>
@@ -746,6 +747,9 @@ RAW
# project does not exist
'[[unknowproject:Start]]' => '[[unknowproject:Start]]',
'[[unknowproject:Start|Page title]]' => '[[unknowproject:Start|Page title]]',
+ # missing permission to view wiki in project
+ '[[private-child:]]' => '[[private-child:]]',
+ '[[private-child:Wiki]]' => '[[private-child:Wiki]]',
}
@project = Project.find(1)
to_test.each { |text, result| assert_equal "<p>#{result}</p>", textilizable(text) }