refactoring and fixing a bunch of stuff
This commit is contained in:
parent
7ebf22e002
commit
07ab6c2e26
|
|
@ -12,13 +12,7 @@ class Import::GitlabProjectsController < Import::BaseController
|
|||
end
|
||||
|
||||
def status
|
||||
@repos = client.projects
|
||||
@incompatible_repos = client.incompatible_projects
|
||||
|
||||
@already_added_projects = current_user.created_projects.where(import_type: "gitlab_project")
|
||||
already_added_projects_names = @already_added_projects.pluck(:import_source)
|
||||
|
||||
@repos.to_a.reject!{ |repo| already_added_projects_names.include? "#{repo["owner"]}/#{repo["slug"]}" }
|
||||
end
|
||||
|
||||
def jobs
|
||||
|
|
@ -39,6 +33,8 @@ class Import::GitlabProjectsController < Import::BaseController
|
|||
tmp_file: File.expand_path(file.path),
|
||||
namespace_id: namespace_id,
|
||||
project_path: path)
|
||||
|
||||
redirect_to status_import_gitlab_project_path
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
|||
|
|
@ -1,55 +0,0 @@
|
|||
- page_title "Gitlab_project import"
|
||||
- header_title "Projects", root_path
|
||||
%h3.page-title
|
||||
%i.icon-gitlab.icon-gitlab-big
|
||||
Import Gitlab projects
|
||||
|
||||
%p.light
|
||||
Select projects you want to import.
|
||||
%hr
|
||||
%p
|
||||
= button_tag class: "btn btn-import btn-success js-import-all" do
|
||||
Import all projects
|
||||
= icon("spinner spin", class: "loading-icon")
|
||||
|
||||
.table-responsive
|
||||
%table.table.import-jobs
|
||||
%colgroup.import-jobs-from-col
|
||||
%colgroup.import-jobs-to-col
|
||||
%colgroup.import-jobs-status-col
|
||||
%thead
|
||||
%tr
|
||||
%th From Gitlab_project.org
|
||||
%th To GitLab
|
||||
%th Status
|
||||
%tbody
|
||||
- @already_added_projects.each do |project|
|
||||
%tr{id: "project_#{project.id}", class: "#{project_status_css_class(project.import_status)}"}
|
||||
%td
|
||||
= link_to project.import_source, "https://gitlab_project.org/#{project.import_source}", target: "_blank"
|
||||
%td
|
||||
= link_to project.path_with_namespace, [project.namespace.becomes(Namespace), project]
|
||||
%td.job-status
|
||||
- if project.import_status == 'finished'
|
||||
%span
|
||||
%i.fa.fa-check
|
||||
done
|
||||
- elsif project.import_status == 'started'
|
||||
%i.fa.fa-spinner.fa-spin
|
||||
started
|
||||
- else
|
||||
= project.human_import_status_name
|
||||
|
||||
- @repos.each do |repo|
|
||||
%tr{id: "repo_#{repo.id}"}
|
||||
%td
|
||||
= link_to repo.full_name, "https://gitlab_project.org/#{repo.full_name}", target: "_blank"
|
||||
%td.import-target
|
||||
= repo.full_name
|
||||
%td.import-actions.job-status
|
||||
= button_tag class: "btn btn-import js-add-to-import" do
|
||||
Import
|
||||
= icon("spinner spin", class: "loading-icon")
|
||||
|
||||
:javascript
|
||||
new ImporterStatus("#{jobs_import_gitlab_project_path}", "#{import_gitlab_project_path}");
|
||||
|
|
@ -9,7 +9,7 @@ module Gitlab
|
|||
untar_with_options(archive: archive, dir: dir, options: 'zxf')
|
||||
end
|
||||
|
||||
def untar_czf(archive:, dir:)
|
||||
def untar_xf(archive:, dir:)
|
||||
untar_with_options(archive: archive, dir: dir, options: 'xf')
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -15,8 +15,7 @@ module Gitlab
|
|||
|
||||
def execute
|
||||
Gitlab::ImportExport::Importer.import(archive_file: @archive_file, storage_path: storage_path)
|
||||
restore_project_tree
|
||||
restore_repo
|
||||
project_tree.project if [restore_project_tree, restore_repo].all?
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ module Gitlab
|
|||
|
||||
FileUtils.mkdir_p(repos_path)
|
||||
FileUtils.mkdir_p(path_to_repo)
|
||||
untar_zxf(archive: @path, dir: path_to_repo)
|
||||
untar_xf(archive: @path, dir: path_to_repo)
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ feature 'project import', feature: true, js: true do
|
|||
let(:file) { File.join(Rails.root, 'spec', 'features', 'projects', 'import_export', 'test_project_export.tar.gz') }
|
||||
|
||||
background do
|
||||
export_path = "#{Dir::tmpdir}/import_file_spec"
|
||||
allow_any_instance_of(Gitlab::ImportExport).to receive(:storage_path).and_return(export_path)
|
||||
login_as(user)
|
||||
end
|
||||
|
||||
|
|
@ -27,9 +29,6 @@ feature 'project import', feature: true, js: true do
|
|||
sleep 1
|
||||
|
||||
click_on 'Continue to the next step'
|
||||
|
||||
sleep 1
|
||||
|
||||
end
|
||||
|
||||
def drop_in_dropzone(file_path)
|
||||
|
|
|
|||
Loading…
Reference in New Issue