Commit 478730be authored by Stan Hu's avatar Stan Hu

Support selection of different namespace and project destination

parent a0959430
...@@ -39,9 +39,9 @@ class Import::BitbucketController < Import::BaseController ...@@ -39,9 +39,9 @@ class Import::BitbucketController < Import::BaseController
client = Bitbucket::Client.new(credentials) client = Bitbucket::Client.new(credentials)
@repo_id = params[:repo_id].to_s @repo_id = params[:repo_id].to_s
name = @repo_id.to_s.gsub('___', '/') name = @repo_id.gsub('___', '/')
repo = client.repo(name) repo = client.repo(name)
@project_name = repo.name @project_name = params[:new_name].presence || repo.name
repo_owner = repo.owner repo_owner = repo.owner
repo_owner = current_user.username if repo_owner == client.user.username repo_owner = current_user.username if repo_owner == client.user.username
...@@ -50,7 +50,7 @@ class Import::BitbucketController < Import::BaseController ...@@ -50,7 +50,7 @@ class Import::BitbucketController < Import::BaseController
namespace = find_or_create_namespace(@target_namespace, repo_owner) namespace = find_or_create_namespace(@target_namespace, repo_owner)
if current_user.can?(:create_projects, namespace) if current_user.can?(:create_projects, namespace)
@project = Gitlab::BitbucketImport::ProjectCreator.new(repo, namespace, current_user, credentials).execute @project = Gitlab::BitbucketImport::ProjectCreator.new(repo, @project_name, namespace, current_user, credentials).execute
else else
render 'unauthorized' render 'unauthorized'
end end
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
Import all compatible projects Import all compatible projects
= icon('spinner spin', class: 'loading-icon') = icon('spinner spin', class: 'loading-icon')
- else - else
= button_tag class: 'btn btn-success js-import-all' do = button_tag class: 'btn btn-import btn-success js-import-all' do
Import all projects Import all projects
= icon('spinner spin', class: 'loading-icon') = icon('spinner spin', class: 'loading-icon')
...@@ -52,7 +52,17 @@ ...@@ -52,7 +52,17 @@
%td %td
= link_to "#{repo.full_name}", "https://bitbucket.org/#{repo.full_name}", target: "_blank" = link_to "#{repo.full_name}", "https://bitbucket.org/#{repo.full_name}", target: "_blank"
%td.import-target %td.import-target
= "#{repo.full_name}" %fieldset.row
.input-group
.project-path.input-group-btn
- if current_user.can_select_namespace?
- selected = params[:namespace_id] || :current_user
- opts = current_user.can_create_group? ? { extra_group: Group.new(name: repo.owner, path: repo.owner) } : {}
= select_tag :namespace_id, namespaces_options(selected, opts.merge({ display_path: true })), { class: 'select2 js-select-namespace', tabindex: 1 }
- else
= text_field_tag :path, current_user.namespace_path, class: "input-large form-control", tabindex: 1, disabled: true
%span.input-group-addon /
= text_field_tag :path, repo.name, class: "input-mini form-control", tabindex: 2, autofocus: true, required: true
%td.import-actions.job-status %td.import-actions.job-status
= button_tag class: 'btn btn-import js-add-to-import' do = button_tag class: 'btn btn-import js-add-to-import' do
Import Import
......
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