Commit 5d10b7a7 authored by GitLab Bot's avatar GitLab Bot

Automatic merge of gitlab-org/gitlab-ce master

parents d20473c1 62e74d85
...@@ -2,10 +2,12 @@ import Vue from 'vue'; ...@@ -2,10 +2,12 @@ import Vue from 'vue';
import createRouter from './router'; import createRouter from './router';
import App from './components/app.vue'; import App from './components/app.vue';
import apolloProvider from './graphql'; import apolloProvider from './graphql';
import { setTitle } from './utils/title';
export default function setupVueRepositoryList() { export default function setupVueRepositoryList() {
const el = document.getElementById('js-tree-list'); const el = document.getElementById('js-tree-list');
const { projectPath, ref } = el.dataset; const { projectPath, ref, fullName } = el.dataset;
const router = createRouter(projectPath, ref);
apolloProvider.clients.defaultClient.cache.writeData({ apolloProvider.clients.defaultClient.cache.writeData({
data: { data: {
...@@ -14,9 +16,11 @@ export default function setupVueRepositoryList() { ...@@ -14,9 +16,11 @@ export default function setupVueRepositoryList() {
}, },
}); });
router.afterEach(({ params: { pathMatch } }) => setTitle(pathMatch, ref, fullName));
return new Vue({ return new Vue({
el, el,
router: createRouter(projectPath, ref), router,
apolloProvider, apolloProvider,
render(h) { render(h) {
return h(App); return h(App);
......
// eslint-disable-next-line import/prefer-default-export
export const setTitle = (pathMatch, ref, project) => {
const path = pathMatch.replace(/^\//, '');
const isEmpty = path === '';
document.title = `${isEmpty ? 'Files' : path} · ${ref} · ${project}`;
};
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
= render 'stat_anchor_list', anchors: @project.statistics_buttons(show_auto_devops_callout: show_auto_devops_callout) = render 'stat_anchor_list', anchors: @project.statistics_buttons(show_auto_devops_callout: show_auto_devops_callout)
- if vue_file_list - if vue_file_list
#js-tree-list{ data: { project_path: @project.full_path, ref: ref } } #js-tree-list{ data: { project_path: @project.full_path, full_name: @project.name_with_namespace, ref: ref } }
- if @tree.readme - if @tree.readme
= render "projects/tree/readme", readme: @tree.readme = render "projects/tree/readme", readme: @tree.readme
- else - else
......
---
title: Fix order dependency with user params during imports
merge_request: 28719
author:
type: fixed
...@@ -63,7 +63,7 @@ module Gitlab ...@@ -63,7 +63,7 @@ module Gitlab
'source_id' => @project.id, 'source_id' => @project.id,
'importing' => true, 'importing' => true,
'access_level' => [member['access_level'], ProjectMember::MAINTAINER].min 'access_level' => [member['access_level'], ProjectMember::MAINTAINER].min
) ).except('user_id')
end end
def parsed_hash(member) def parsed_hash(member)
......
import { setTitle } from '~/repository/utils/title';
describe('setTitle', () => {
it.each`
path | title
${'/'} | ${'Files'}
${'app'} | ${'app'}
${'app/assets'} | ${'app/assets'}
${'app/assets/javascripts'} | ${'app/assets/javascripts'}
`('sets document title as $title for $path', ({ path, title }) => {
setTitle(path, 'master', 'GitLab');
expect(document.title).toEqual(`${title} · master · GitLab`);
});
});
...@@ -12,7 +12,6 @@ describe Gitlab::ImportExport::MembersMapper do ...@@ -12,7 +12,6 @@ describe Gitlab::ImportExport::MembersMapper do
"access_level" => 40, "access_level" => 40,
"source_id" => 14, "source_id" => 14,
"source_type" => "Project", "source_type" => "Project",
"user_id" => 19,
"notification_level" => 3, "notification_level" => 3,
"created_at" => "2016-03-11T10:21:44.822Z", "created_at" => "2016-03-11T10:21:44.822Z",
"updated_at" => "2016-03-11T10:21:44.822Z", "updated_at" => "2016-03-11T10:21:44.822Z",
...@@ -25,7 +24,8 @@ describe Gitlab::ImportExport::MembersMapper do ...@@ -25,7 +24,8 @@ describe Gitlab::ImportExport::MembersMapper do
"id" => exported_user_id, "id" => exported_user_id,
"email" => user2.email, "email" => user2.email,
"username" => 'test' "username" => 'test'
} },
"user_id" => 19
}, },
{ {
"id" => 3, "id" => 3,
...@@ -80,6 +80,15 @@ describe Gitlab::ImportExport::MembersMapper do ...@@ -80,6 +80,15 @@ describe Gitlab::ImportExport::MembersMapper do
expect(ProjectMember.find_by_user_id(user2.id).access_level).to eq(ProjectMember::MAINTAINER) expect(ProjectMember.find_by_user_id(user2.id).access_level).to eq(ProjectMember::MAINTAINER)
end end
it 'removes old user_id from member_hash to avoid conflict with user key' do
expect(ProjectMember).to receive(:create)
.twice
.with(hash_excluding('user_id'))
.and_call_original
members_mapper.map
end
context 'user is not an admin' do context 'user is not an admin' do
let(:user) { create(:user) } let(:user) { create(:user) }
......
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