summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorRobert Speicher <robert@gitlab.com>2016-01-26 00:48:56 +0000
committerRobert Speicher <rspeicher@gmail.com>2016-01-25 17:05:49 -0800
commit80814cbd04169f82aff9736a3c243eea85328cef (patch)
tree23503ff14429697e03b09704e03cbc38cb417d95 /app
parent6881ba0e796fe22dd1d47bd1a7d42e532f18077a (diff)
downloadgitlab-ce-80814cbd04169f82aff9736a3c243eea85328cef.tar.gz
Merge branch 'fix-import-redirect-loop' into 'master'
Fix import redirect loop Fixes #11864 See merge request !2606
Diffstat (limited to 'app')
-rw-r--r--app/controllers/projects/imports_controller.rb20
1 files changed, 15 insertions, 5 deletions
diff --git a/app/controllers/projects/imports_controller.rb b/app/controllers/projects/imports_controller.rb
index 8d8035ef5ff..07f355c35b1 100644
--- a/app/controllers/projects/imports_controller.rb
+++ b/app/controllers/projects/imports_controller.rb
@@ -1,8 +1,8 @@
class Projects::ImportsController < Projects::ApplicationController
# Authorize
before_action :authorize_admin_project!
- before_action :require_no_repo, except: :show
- before_action :redirect_if_progress, except: :show
+ before_action :require_no_repo, only: [:new, :create]
+ before_action :redirect_if_progress, only: [:new, :create]
def new
end
@@ -24,11 +24,11 @@ class Projects::ImportsController < Projects::ApplicationController
end
def show
- if @project.repository_exists? || @project.import_finished?
+ if @project.import_finished?
if continue_params
redirect_to continue_params[:to], notice: continue_params[:notice]
else
- redirect_to project_path(@project), notice: "The project was successfully forked."
+ redirect_to namespace_project_path(@project.namespace, @project), notice: finished_notice
end
elsif @project.import_failed?
redirect_to new_namespace_project_import_path(@project.namespace, @project)
@@ -36,6 +36,7 @@ class Projects::ImportsController < Projects::ApplicationController
if continue_params && continue_params[:notice_now]
flash.now[:notice] = continue_params[:notice_now]
end
+
# Render
end
end
@@ -44,6 +45,7 @@ class Projects::ImportsController < Projects::ApplicationController
def continue_params
continue_params = params[:continue]
+
if continue_params
continue_params.permit(:to, :notice, :notice_now)
else
@@ -51,8 +53,16 @@ class Projects::ImportsController < Projects::ApplicationController
end
end
+ def finished_notice
+ if @project.forked?
+ 'The project was successfully forked.'
+ else
+ 'The project was successfully imported.'
+ end
+ end
+
def require_no_repo
- if @project.repository_exists? && !@project.import_in_progress?
+ if @project.repository_exists?
redirect_to(namespace_project_path(@project.namespace, @project))
end
end