diff options
author | Douwe Maan <douwe@gitlab.com> | 2016-02-17 18:52:35 +0300 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2016-02-17 18:52:35 +0300 |
commit | 6483a4c7b1033f357eda3436bc7054c59e2f9b3f (patch) | |
tree | 43d345fd4befc76d474a9f9c4e79815d323583d3 /app | |
parent | 28d42a33f3385b57660906d4ca35e96d56785d7e (diff) | |
parent | 3d3ac87af991319d6960a963c0975c83bf7e4108 (diff) |
Merge branch 'fix/13367-redirect-to-project-page-if-no-import' into 'master'
Redirect /import to project page if no importing at all and repo exists
Fixes gitlab-org/gitlab-ce#13367.
See merge request !2857
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/projects/imports_controller.rb | 12 | ||||
-rw-r--r-- | app/models/project.rb | 4 |
2 files changed, 13 insertions, 3 deletions
diff --git a/app/controllers/projects/imports_controller.rb b/app/controllers/projects/imports_controller.rb index 07f355c35b1..196996f1752 100644 --- a/app/controllers/projects/imports_controller.rb +++ b/app/controllers/projects/imports_controller.rb @@ -3,6 +3,7 @@ class Projects::ImportsController < Projects::ApplicationController before_action :authorize_admin_project! before_action :require_no_repo, only: [:new, :create] before_action :redirect_if_progress, only: [:new, :create] + before_action :redirect_if_no_import, only: :show def new end @@ -63,14 +64,19 @@ class Projects::ImportsController < Projects::ApplicationController def require_no_repo if @project.repository_exists? - redirect_to(namespace_project_path(@project.namespace, @project)) + redirect_to namespace_project_path(@project.namespace, @project) end end def redirect_if_progress if @project.import_in_progress? - redirect_to namespace_project_import_path(@project.namespace, @project) && - return + redirect_to namespace_project_import_path(@project.namespace, @project) + end + end + + def redirect_if_no_import + if @project.repository_exists? && @project.no_import? + redirect_to namespace_project_path(@project.namespace, @project) end end end diff --git a/app/models/project.rb b/app/models/project.rb index a43878ebcad..95ad88c76ae 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -382,6 +382,10 @@ class Project < ActiveRecord::Base external_import? || forked? end + def no_import? + import_status == 'none' + end + def external_import? import_url.present? end |