Commit 59fa3064 authored by Kamil Trzciński's avatar Kamil Trzciński

Get rid of restored_project

This creates confusion on how data are processed,
because we get the same object out of order and
force to lazily initialise objects when they should
not need
parent 85a103fc
......@@ -312,7 +312,7 @@ module Gitlab
class Importer
def execute
if import_file && check_version! && restorers.all?(&:restore) && overwrite_project
project_tree.restored_project
project
else
raise Projects::ImportService::Error.new(@shared.errors.join(', '))
end
......
......@@ -17,7 +17,7 @@ module EE::Gitlab::ImportExport::Importer
Gitlab::ImportExport::DesignRepoRestorer.new(
path_to_bundle: design_repo_path,
shared: shared,
project: project_tree.restored_project
project: project
)
end
......
......@@ -11,7 +11,7 @@ module EE
override :remove_feature_dependent_sub_relations
def remove_feature_dependent_sub_relations(relation_item)
export_designs_disabled = ::Feature.disabled?(:export_designs, @project, default_enabled: true) # rubocop:disable Gitlab/ModuleWithInstanceVariables
export_designs_disabled = ::Feature.disabled?(:export_designs, project, default_enabled: true)
if relation_item.is_a?(Hash) && export_designs_disabled
relation_item.except!('designs', 'design_versions')
......
......@@ -19,7 +19,7 @@ module Gitlab
def execute
if import_file && check_version! && restorers.all?(&:restore) && overwrite_project
project_tree.restored_project
project
else
raise Projects::ImportService::Error.new(shared.errors.to_sentence)
end
......@@ -55,32 +55,32 @@ module Gitlab
end
def avatar_restorer
Gitlab::ImportExport::AvatarRestorer.new(project: project_tree.restored_project, shared: shared)
Gitlab::ImportExport::AvatarRestorer.new(project: project, shared: shared)
end
def repo_restorer
Gitlab::ImportExport::RepoRestorer.new(path_to_bundle: repo_path,
shared: shared,
project: project_tree.restored_project)
project: project)
end
def wiki_restorer
Gitlab::ImportExport::WikiRestorer.new(path_to_bundle: wiki_repo_path,
shared: shared,
project: ProjectWiki.new(project_tree.restored_project),
project: ProjectWiki.new(project),
wiki_enabled: project.wiki_enabled?)
end
def uploads_restorer
Gitlab::ImportExport::UploadsRestorer.new(project: project_tree.restored_project, shared: shared)
Gitlab::ImportExport::UploadsRestorer.new(project: project, shared: shared)
end
def lfs_restorer
Gitlab::ImportExport::LfsRestorer.new(project: project_tree.restored_project, shared: shared)
Gitlab::ImportExport::LfsRestorer.new(project: project, shared: shared)
end
def statistics_restorer
Gitlab::ImportExport::StatisticsRestorer.new(project: project_tree.restored_project, shared: shared)
Gitlab::ImportExport::StatisticsRestorer.new(project: project, shared: shared)
end
def path_with_namespace
......@@ -105,8 +105,6 @@ module Gitlab
end
def overwrite_project
project = project_tree.restored_project
return unless can?(current_user, :admin_namespace, project.namespace)
if overwrite_project?
......
......@@ -7,7 +7,8 @@ module Gitlab
GROUP_MODELS = [GroupLabel, Milestone].freeze
attr_reader :user
attr_reader :restored_project
attr_reader :shared
attr_reader :project
def initialize(user:, shared:, project:)
@path = File.join(shared.export_path, 'project.json')
......@@ -37,7 +38,7 @@ module Gitlab
end
# ensure that we have latest version of the restore
@restored_project = @project.reload # rubocop:disable Cop/ActiveRecordAssociationReload
@project.reload # rubocop:disable Cop/ActiveRecordAssociationReload
true
rescue => e
......
......@@ -534,7 +534,7 @@ describe Gitlab::ImportExport::ProjectTreeRestorer do
it 'uses the project visibility' do
expect(restorer.restore).to eq(true)
expect(restorer.restored_project.visibility_level).to eq(visibility)
expect(restorer.project.visibility_level).to eq(visibility)
end
end
......@@ -546,7 +546,7 @@ describe Gitlab::ImportExport::ProjectTreeRestorer do
stub_application_setting(restricted_visibility_levels: [Gitlab::VisibilityLevel::INTERNAL])
expect(restorer.restore).to eq(true)
expect(restorer.restored_project.visibility_level).to eq(Gitlab::VisibilityLevel::PRIVATE)
expect(restorer.project.visibility_level).to eq(Gitlab::VisibilityLevel::PRIVATE)
end
end
end
......@@ -564,7 +564,7 @@ describe Gitlab::ImportExport::ProjectTreeRestorer do
it 'uses the group visibility' do
expect(restorer.restore).to eq(true)
expect(restorer.restored_project.visibility_level).to eq(group_visibility)
expect(restorer.project.visibility_level).to eq(group_visibility)
end
end
......@@ -574,7 +574,7 @@ describe Gitlab::ImportExport::ProjectTreeRestorer do
it 'uses the project visibility' do
expect(restorer.restore).to eq(true)
expect(restorer.restored_project.visibility_level).to eq(visibility)
expect(restorer.project.visibility_level).to eq(visibility)
end
end
......@@ -584,7 +584,7 @@ describe Gitlab::ImportExport::ProjectTreeRestorer do
it 'uses the group visibility' do
expect(restorer.restore).to eq(true)
expect(restorer.restored_project.visibility_level).to eq(group_visibility)
expect(restorer.project.visibility_level).to eq(group_visibility)
end
context 'with restricted internal visibility' do
......@@ -592,7 +592,7 @@ describe Gitlab::ImportExport::ProjectTreeRestorer do
stub_application_setting(restricted_visibility_levels: [Gitlab::VisibilityLevel::INTERNAL])
expect(restorer.restore).to eq(true)
expect(restorer.restored_project.visibility_level).to eq(Gitlab::VisibilityLevel::PRIVATE)
expect(restorer.project.visibility_level).to eq(Gitlab::VisibilityLevel::PRIVATE)
end
end
end
......
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