summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Niedzielski <adamsunday@gmail.com>2016-11-01 10:18:49 +0100
committerAdam Niedzielski <adamsunday@gmail.com>2016-11-01 10:18:49 +0100
commitf6cff8f7bc6608d53baa36768034ab9f91323abe (patch)
treee494c019ab4061d71a72d418dd909670ae24e056
parent266fcfb1935c8aa8c6ac3d2ae71530c441b08675 (diff)
downloadgitlab-ce-f6cff8f7bc6608d53baa36768034ab9f91323abe.tar.gz
Fix relative links in Markdown wiki when displayed in "Project" tabadam-fix-wiki-links-markdown
Refers to #23806.
-rw-r--r--CHANGELOG.md1
-rw-r--r--app/controllers/projects_controller.rb3
-rw-r--r--spec/features/projects/wiki/user_views_wiki_in_project_page_spec.rb44
3 files changed, 47 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 14907e1546e..0e07f112e1c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -43,6 +43,7 @@ Please view this file on the master branch, on stable branches it's out of date.
## 8.13.3
+- Fix relative links in Markdown wiki when displayed in "Project" tab !7218
- Reduce the overhead to calculate number of open/closed issues and merge requests within the group or project
## 8.13.2 (2016-10-31)
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index 8c148ecfaeb..bce5e29d8d8 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -289,7 +289,8 @@ class ProjectsController < Projects::ApplicationController
render 'projects/empty' if @project.empty_repo?
else
if @project.wiki_enabled?
- @wiki_home = @project.wiki.find_page('home', params[:version_id])
+ @project_wiki = @project.wiki
+ @wiki_home = @project_wiki.find_page('home', params[:version_id])
elsif @project.feature_available?(:issues, current_user)
@issues = issues_collection
@issues = @issues.page(params[:page])
diff --git a/spec/features/projects/wiki/user_views_wiki_in_project_page_spec.rb b/spec/features/projects/wiki/user_views_wiki_in_project_page_spec.rb
new file mode 100644
index 00000000000..b4f5f6b3fc5
--- /dev/null
+++ b/spec/features/projects/wiki/user_views_wiki_in_project_page_spec.rb
@@ -0,0 +1,44 @@
+require 'spec_helper'
+
+describe 'Projects > Wiki > User views wiki in project page', feature: true do
+ let(:user) { create(:user) }
+ let(:project) { create(:empty_project) }
+
+ before do
+ project.team << [user, :master]
+ login_as(user)
+ end
+
+ context 'when repository is disabled for project' do
+ before do
+ project.project_feature.update!(
+ repository_access_level: ProjectFeature::DISABLED,
+ merge_requests_access_level: ProjectFeature::DISABLED,
+ builds_access_level: ProjectFeature::DISABLED
+ )
+ end
+
+ context 'when wiki homepage contains a link' do
+ before do
+ WikiPages::CreateService.new(
+ project,
+ user,
+ title: 'home',
+ content: '[some link](other-page)'
+ ).execute
+ end
+
+ it 'displays the correct URL for the link' do
+ visit namespace_project_path(project.namespace, project)
+ expect(page).to have_link(
+ 'some link',
+ href: namespace_project_wiki_path(
+ project.namespace,
+ project,
+ 'other-page'
+ )
+ )
+ end
+ end
+ end
+end