summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Koltsov <gkoltsov@gitlab.com>2019-07-17 16:38:13 +0100
committerGeorge Koltsov <gkoltsov@gitlab.com>2019-07-17 16:38:13 +0100
commit200c1b782023baa8109add8fb0da77637d26ef47 (patch)
treebbfef9b5450d0989eb64d52eb7f4694a3ae46dc4
parentb2c2eba89e2a5a293bd6e06bb17f17b6178e599d (diff)
downloadgitlab-ce-georgekoltsov/64311-set-visibility-private-if-internal-restricted.tar.gz
-rw-r--r--doc/user/project/settings/import_export.md4
-rw-r--r--lib/gitlab/import_export/project_tree_restorer.rb2
-rw-r--r--spec/lib/gitlab/import_export/project_tree_restorer_spec.rb4
3 files changed, 4 insertions, 6 deletions
diff --git a/doc/user/project/settings/import_export.md b/doc/user/project/settings/import_export.md
index 9b12f7230b7..35a72b48cb4 100644
--- a/doc/user/project/settings/import_export.md
+++ b/doc/user/project/settings/import_export.md
@@ -120,6 +120,4 @@ For more details on the specific data persisted in a project export, see the
NOTE: **Note:**
If use of the `Internal` visibility level
[is restricted](../../../public_access/public_access.md#restricting-the-use-of-public-or-internal-projects),
-all imported projects with a visibility of `Internal` are given the
-visibility of `Private`, unless they are imported to a group with a
-visibility of `Internal`.
+all imported projects are given the visibility of `Private`.
diff --git a/lib/gitlab/import_export/project_tree_restorer.rb b/lib/gitlab/import_export/project_tree_restorer.rb
index 1bd9f6c3f59..ac18441b3d6 100644
--- a/lib/gitlab/import_export/project_tree_restorer.rb
+++ b/lib/gitlab/import_export/project_tree_restorer.rb
@@ -129,8 +129,8 @@ module Gitlab
def visibility_level
level = override_params['visibility_level'] || json_params['visibility_level'] || @project.visibility_level
- level = Gitlab::VisibilityLevel::PRIVATE if level == Gitlab::VisibilityLevel::INTERNAL && Gitlab::CurrentSettings.restricted_visibility_levels.include?(level)
level = @project.group.visibility_level if @project.group && level.to_i > @project.group.visibility_level
+ level = Gitlab::VisibilityLevel::PRIVATE if level == Gitlab::VisibilityLevel::INTERNAL && Gitlab::CurrentSettings.restricted_visibility_levels.include?(level)
{ 'visibility_level' => level }
end
diff --git a/spec/lib/gitlab/import_export/project_tree_restorer_spec.rb b/spec/lib/gitlab/import_export/project_tree_restorer_spec.rb
index da180988252..a85c53e40f0 100644
--- a/spec/lib/gitlab/import_export/project_tree_restorer_spec.rb
+++ b/spec/lib/gitlab/import_export/project_tree_restorer_spec.rb
@@ -537,10 +537,10 @@ describe Gitlab::ImportExport::ProjectTreeRestorer do
end
context 'with restricted internal visibility' do
- it 'uses the group visibility' do
+ it 'sets private visibility' do
stub_application_setting(restricted_visibility_levels: [Gitlab::VisibilityLevel::INTERNAL])
- expect(restorer.restored_project.visibility_level).to eq(group_visibility)
+ expect(restorer.restored_project.visibility_level).to eq(Gitlab::VisibilityLevel::PRIVATE)
end
end
end