summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTiago Botelho <tiagonbotelho@hotmail.com>2018-08-16 11:02:34 +0100
committerTiago Botelho <tiagonbotelho@hotmail.com>2018-08-24 08:21:59 +0200
commita5fe84865f11a745a95501e2301c88bb00bea10a (patch)
treeb391d004b802cf2afee013db34dbe3d51b94bc66
parenta0f23458194dd382970dc71cf52842d60dc0b6f1 (diff)
downloadgitlab-ce-47765-group-visibility-error-due-to-string-conversion.tar.gz
Changes update_column to update_attributes in ProjectTreeRestorer#restore_project by using timeless to maintain the current timestamps47765-group-visibility-error-due-to-string-conversion
-rw-r--r--changelogs/unreleased/47765-group-visibility-error-due-to-string-conversion.yml6
-rw-r--r--lib/gitlab/import_export/project_tree_restorer.rb5
-rw-r--r--spec/lib/gitlab/import_export/importer_spec.rb10
3 files changed, 20 insertions, 1 deletions
diff --git a/changelogs/unreleased/47765-group-visibility-error-due-to-string-conversion.yml b/changelogs/unreleased/47765-group-visibility-error-due-to-string-conversion.yml
new file mode 100644
index 00000000000..ad09527b329
--- /dev/null
+++ b/changelogs/unreleased/47765-group-visibility-error-due-to-string-conversion.yml
@@ -0,0 +1,6 @@
+---
+title: Importing a project no longer fails when visibility level holds a string value
+ type
+merge_request: 21242
+author:
+type: fixed
diff --git a/lib/gitlab/import_export/project_tree_restorer.rb b/lib/gitlab/import_export/project_tree_restorer.rb
index 76b99b1de16..f4106e03a57 100644
--- a/lib/gitlab/import_export/project_tree_restorer.rb
+++ b/lib/gitlab/import_export/project_tree_restorer.rb
@@ -94,7 +94,10 @@ module Gitlab
end
def restore_project
- @project.update_columns(project_params)
+ Gitlab::Timeless.timeless(@project) do
+ @project.update(project_params)
+ end
+
@project
end
diff --git a/spec/lib/gitlab/import_export/importer_spec.rb b/spec/lib/gitlab/import_export/importer_spec.rb
index f07946824c4..8053c48ad6c 100644
--- a/spec/lib/gitlab/import_export/importer_spec.rb
+++ b/spec/lib/gitlab/import_export/importer_spec.rb
@@ -63,6 +63,16 @@ describe Gitlab::ImportExport::Importer do
importer.execute
end
+
+ it 'sets the correct visibility_level when visibility level is a string' do
+ project.create_or_update_import_data(
+ data: { override_params: { visibility_level: Gitlab::VisibilityLevel::PRIVATE.to_s } }
+ )
+
+ importer.execute
+
+ expect(project.visibility_level).to eq(Gitlab::VisibilityLevel::PRIVATE)
+ end
end
context 'when project successfully restored' do