diff options
author | Robert Speicher <robert@gitlab.com> | 2016-01-26 00:48:56 +0000 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2016-01-25 17:05:49 -0800 |
commit | 80814cbd04169f82aff9736a3c243eea85328cef (patch) | |
tree | 23503ff14429697e03b09704e03cbc38cb417d95 /app | |
parent | 6881ba0e796fe22dd1d47bd1a7d42e532f18077a (diff) | |
download | gitlab-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.rb | 20 |
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 |