diff options
Diffstat (limited to 'app/controllers/import/fogbugz_controller.rb')
-rw-r--r-- | app/controllers/import/fogbugz_controller.rb | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/app/controllers/import/fogbugz_controller.rb b/app/controllers/import/fogbugz_controller.rb index 4fb6efde7ff..91779a5d6cc 100644 --- a/app/controllers/import/fogbugz_controller.rb +++ b/app/controllers/import/fogbugz_controller.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true class Import::FogbugzController < Import::BaseController + extend ::Gitlab::Utils::Override + before_action :verify_fogbugz_import_enabled before_action :user_map, only: [:new_user_map, :create_user_map] before_action :verify_blocked_uri, only: :callback @@ -48,6 +50,8 @@ class Import::FogbugzController < Import::BaseController return redirect_to new_import_fogbugz_path end + return super if Feature.enabled?(:new_import_ui) + @repos = client.repos @already_added_projects = find_already_added_projects('fogbugz') @@ -57,6 +61,10 @@ class Import::FogbugzController < Import::BaseController end # rubocop: enable CodeReuse/ActiveRecord + def realtime_changes + super + end + def jobs render json: find_jobs('fogbugz') end @@ -69,12 +77,35 @@ class Import::FogbugzController < Import::BaseController project = Gitlab::FogbugzImport::ProjectCreator.new(repo, fb_session, current_user.namespace, current_user, umap).execute if project.persisted? - render json: ProjectSerializer.new.represent(project) + render json: ProjectSerializer.new.represent(project, serializer: :import) else render json: { errors: project_save_error(project) }, status: :unprocessable_entity end end + protected + + # rubocop: disable CodeReuse/ActiveRecord + override :importable_repos + def importable_repos + repos = client.repos + + already_added_projects_names = already_added_projects.map(&:import_source) + + repos.reject { |repo| already_added_projects_names.include? repo.name } + end + # rubocop: enable CodeReuse/ActiveRecord + + override :provider_name + def provider_name + :fogbugz + end + + override :provider_url + def provider_url + session[:fogbugz_uri] + end + private def client |