summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-04-02 20:34:52 +0000
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-04-02 20:34:52 +0000
commit0d0042d27481d31027a10edb2ba3a184bff5075a (patch)
tree0ccc0a5a02ab89d8de05205a136c128501a59e50 /app
parent424cbf46d5d84e604a8404bb0af67a99fe21d337 (diff)
parentd92e4ccc6eeff1c28ed55c4b27a4f97a76d78127 (diff)
downloadgitlab-ce-0d0042d27481d31027a10edb2ba3a184bff5075a.tar.gz
Merge branch 'import-current-user' into 'master'
Import GitHub, Bitbucket or GitLab.com projects owned by authenticated user into current namespace. Addresses #1347. Untested since I'm in a bit of a hurry. Will definitely have time to test and add unit tests before the 7.10 release :) See merge request !481
Diffstat (limited to 'app')
-rw-r--r--app/controllers/import/bitbucket_controller.rb5
-rw-r--r--app/controllers/import/github_controller.rb5
-rw-r--r--app/controllers/import/gitlab_controller.rb5
3 files changed, 12 insertions, 3 deletions
diff --git a/app/controllers/import/bitbucket_controller.rb b/app/controllers/import/bitbucket_controller.rb
index 83ebc5fddca..bb8d7e0235c 100644
--- a/app/controllers/import/bitbucket_controller.rb
+++ b/app/controllers/import/bitbucket_controller.rb
@@ -36,8 +36,11 @@ class Import::BitbucketController < Import::BaseController
def create
@repo_id = params[:repo_id] || ""
repo = client.project(@repo_id.gsub("___", "/"))
- @target_namespace = params[:new_namespace].presence || repo["owner"]
@project_name = repo["slug"]
+
+ repo_owner = repo["owner"]
+ repo_owner = current_user.username if repo_owner == client.user["user"]["username"]
+ @target_namespace = params[:new_namespace].presence || repo_owner
namespace = get_or_create_namespace || (render and return)
diff --git a/app/controllers/import/github_controller.rb b/app/controllers/import/github_controller.rb
index 8650b6464dc..87b41454c77 100644
--- a/app/controllers/import/github_controller.rb
+++ b/app/controllers/import/github_controller.rb
@@ -31,8 +31,11 @@ class Import::GithubController < Import::BaseController
def create
@repo_id = params[:repo_id].to_i
repo = client.repo(@repo_id)
- @target_namespace = params[:new_namespace].presence || repo.owner.login
@project_name = repo.name
+
+ repo_owner = repo.owner.login
+ repo_owner = current_user.username if repo_owner == client.user.login
+ @target_namespace = params[:new_namespace].presence || repo_owner
namespace = get_or_create_namespace || (render and return)
diff --git a/app/controllers/import/gitlab_controller.rb b/app/controllers/import/gitlab_controller.rb
index e979dad4b11..bddbfded812 100644
--- a/app/controllers/import/gitlab_controller.rb
+++ b/app/controllers/import/gitlab_controller.rb
@@ -28,8 +28,11 @@ class Import::GitlabController < Import::BaseController
def create
@repo_id = params[:repo_id].to_i
repo = client.project(@repo_id)
- @target_namespace = params[:new_namespace].presence || repo["namespace"]["path"]
@project_name = repo["name"]
+
+ repo_owner = repo["namespace"]["path"]
+ repo_owner = current_user.username if repo_owner == client.user["username"]
+ @target_namespace = params[:new_namespace].presence || repo_owner
namespace = get_or_create_namespace || (render and return)