Commit aa6fe141 authored by Douwe Maan's avatar Douwe Maan

Merge branch 'fix-file-links-on-project-page' into 'master'

Fix file links on project page Files view

## What does this MR do?

Fix the project show page when the default view is set to Files so that the links work.

## Are there points in the code the reviewer needs to double check?

I can't figure out what caused this to break 😕 

## What are the relevant issue numbers?

Closes https://gitlab.com/gitlab-com/support-forum/issues/959.

## Does this MR meet the acceptance criteria?

- [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added
- [x] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md) (N/A)
- [x] API support added (N/A)
- Tests
  - [x] Added for this feature/bug
  - [ ] All builds are passing
- [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides)
- [x] Branch has no merge conflicts with `master` (if you do - rebase it please)
- [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)

See merge request !5933
parents 739620fe 1a7c293c
...@@ -4,6 +4,9 @@ v 8.12.0 (unreleased) ...@@ -4,6 +4,9 @@ v 8.12.0 (unreleased)
- Change merge_error column from string to text type - Change merge_error column from string to text type
- Optimistic locking for Issues and Merge Requests (title and description overriding prevention) - Optimistic locking for Issues and Merge Requests (title and description overriding prevention)
v 8.11.1 (unreleased)
- Fix file links on project page when default view is Files !5933
v 8.11.0 v 8.11.0
- Use test coverage value from the latest successful pipeline in badge. !5862 - Use test coverage value from the latest successful pipeline in badge. !5862
- Add test coverage report badge. !5708 - Add test coverage report badge. !5708
...@@ -200,8 +203,6 @@ v 8.10.3 ...@@ -200,8 +203,6 @@ v 8.10.3
- Trim extra displayed carriage returns in diffs and files with CRLFs. !5588 - Trim extra displayed carriage returns in diffs and files with CRLFs. !5588
- Fix label already exist error message in the right sidebar. - Fix label already exist error message in the right sidebar.
v 8.10.3 (unreleased)
v 8.10.2 v 8.10.2
- User can now search branches by name. !5144 - User can now search branches by name. !5144
- Page is now properly rendered after committing the first file and creating the first branch. !5399 - Page is now properly rendered after committing the first file and creating the first branch. !5399
......
...@@ -5,7 +5,7 @@ class ProjectsController < Projects::ApplicationController ...@@ -5,7 +5,7 @@ class ProjectsController < Projects::ApplicationController
before_action :project, except: [:new, :create] before_action :project, except: [:new, :create]
before_action :repository, except: [:new, :create] before_action :repository, except: [:new, :create]
before_action :assign_ref_vars, only: [:show], if: :repo_exists? before_action :assign_ref_vars, only: [:show], if: :repo_exists?
before_action :tree, only: [:show], if: [:repo_exists?, :project_view_files?] before_action :assign_tree_vars, only: [:show], if: [:repo_exists?, :project_view_files?]
# Authorize # Authorize
before_action :authorize_admin_project!, only: [:edit, :update, :housekeeping, :download_export, :export, :remove_export, :generate_new_export] before_action :authorize_admin_project!, only: [:edit, :update, :housekeeping, :download_export, :export, :remove_export, :generate_new_export]
...@@ -332,4 +332,11 @@ class ProjectsController < Projects::ApplicationController ...@@ -332,4 +332,11 @@ class ProjectsController < Projects::ApplicationController
def get_id def get_id
project.repository.root_ref project.repository.root_ref
end end
# ExtractsPath will set @id = project.path on the show route, but it has to be the
# branch name for the tree view to work correctly.
def assign_tree_vars
@id = get_id
tree
end
end end
...@@ -115,6 +115,35 @@ feature 'Project', feature: true do ...@@ -115,6 +115,35 @@ feature 'Project', feature: true do
end end
end end
describe 'tree view (default view is set to Files)' do
let(:user) { create(:user, project_view: 'files') }
let(:project) { create(:forked_project_with_submodules) }
before do
project.team << [user, :master]
login_as user
visit namespace_project_path(project.namespace, project)
end
it 'has working links to files' do
click_link('PROCESS.md')
expect(page.status_code).to eq(200)
end
it 'has working links to directories' do
click_link('encoding')
expect(page.status_code).to eq(200)
end
it 'has working links to submodules' do
click_link('645f6c4c')
expect(page.status_code).to eq(200)
end
end
def remove_with_confirm(button_text, confirm_with) def remove_with_confirm(button_text, confirm_with)
click_button button_text click_button button_text
fill_in 'confirm_name_input', with: confirm_with fill_in 'confirm_name_input', with: confirm_with
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment