summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean McGivern <sean@mcgivern.me.uk>2016-12-06 11:48:41 +0000
committerAlejandro Rodríguez <alejorro70@gmail.com>2016-12-07 15:26:27 -0300
commit4447224b3d43dac967e4ff2e9dcc0fc7311d9223 (patch)
tree5a77a9bcf627d760b5e72114ec7493e2583487ca
parent1a4c8eba07f12e04e8ab07e7e16319ee863053fe (diff)
downloadgitlab-ce-4447224b3d43dac967e4ff2e9dcc0fc7311d9223.tar.gz
Merge branch 'fix/authorize-users-into-imported-gitlab-project' into 'master'
Authorize users into imported GitLab project https://gitlab.com/gitlab-com/support-forum/issues/1313 See merge request !7936
-rw-r--r--app/models/member.rb1
-rw-r--r--changelogs/unreleased/fix-authorize-users-into-imported-gitlab-project.yml4
-rw-r--r--spec/lib/gitlab/import_export/members_mapper_spec.rb11
3 files changed, 14 insertions, 2 deletions
diff --git a/app/models/member.rb b/app/models/member.rb
index 7be2665bf48..6950e575d41 100644
--- a/app/models/member.rb
+++ b/app/models/member.rb
@@ -63,6 +63,7 @@ class Member < ActiveRecord::Base
after_create :send_request, if: :request?, unless: :importing?
after_create :create_notification_setting, unless: [:pending?, :importing?]
after_create :post_create_hook, unless: [:pending?, :importing?]
+ after_create :refresh_member_authorized_projects, if: :importing?
after_update :post_update_hook, unless: [:pending?, :importing?]
after_destroy :post_destroy_hook, unless: :pending?
diff --git a/changelogs/unreleased/fix-authorize-users-into-imported-gitlab-project.yml b/changelogs/unreleased/fix-authorize-users-into-imported-gitlab-project.yml
new file mode 100644
index 00000000000..9f14463fdd1
--- /dev/null
+++ b/changelogs/unreleased/fix-authorize-users-into-imported-gitlab-project.yml
@@ -0,0 +1,4 @@
+---
+title: Authorize users into imported GitLab project
+merge_request:
+author:
diff --git a/spec/lib/gitlab/import_export/members_mapper_spec.rb b/spec/lib/gitlab/import_export/members_mapper_spec.rb
index 770e8b0c2f4..1cb02f8e318 100644
--- a/spec/lib/gitlab/import_export/members_mapper_spec.rb
+++ b/spec/lib/gitlab/import_export/members_mapper_spec.rb
@@ -2,9 +2,9 @@ require 'spec_helper'
describe Gitlab::ImportExport::MembersMapper, services: true do
describe 'map members' do
- let(:user) { create(:user) }
+ let(:user) { create(:user, authorized_projects_populated: true) }
let(:project) { create(:project, :public, name: 'searchable_project') }
- let(:user2) { create(:user) }
+ let(:user2) { create(:user, authorized_projects_populated: true) }
let(:exported_user_id) { 99 }
let(:exported_members) do
[{
@@ -67,5 +67,12 @@ describe Gitlab::ImportExport::MembersMapper, services: true do
expect(ProjectMember.find_by_invite_email('invite@test.com')).not_to be_nil
end
+
+ it 'authorizes the users to the project' do
+ members_mapper.map
+
+ expect(user.authorized_project?(project)).to be true
+ expect(user2.authorized_project?(project)).to be true
+ end
end
end