diff options
Diffstat (limited to 'app/controllers/import/fogbugz_controller.rb')
-rw-r--r-- | app/controllers/import/fogbugz_controller.rb | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/app/controllers/import/fogbugz_controller.rb b/app/controllers/import/fogbugz_controller.rb index c223d9d211e..b949a99c250 100644 --- a/app/controllers/import/fogbugz_controller.rb +++ b/app/controllers/import/fogbugz_controller.rb @@ -44,7 +44,6 @@ class Import::FogbugzController < Import::BaseController redirect_to status_import_fogbugz_path end - # rubocop: disable CodeReuse/ActiveRecord def status unless client.valid? return redirect_to new_import_fogbugz_path @@ -52,19 +51,18 @@ class Import::FogbugzController < Import::BaseController super end - # rubocop: enable CodeReuse/ActiveRecord def create - repo = client.repo(params[:repo_id]) - fb_session = { uri: session[:fogbugz_uri], token: session[:fogbugz_token] } + credentials = { uri: session[:fogbugz_uri], token: session[:fogbugz_token] } + umap = session[:fogbugz_user_map] || client.user_map - project = Gitlab::FogbugzImport::ProjectCreator.new(repo, fb_session, current_user.namespace, current_user, umap).execute + result = Import::FogbugzService.new(client, current_user, params.merge(umap: umap)).execute(credentials) - if project.persisted? - render json: ProjectSerializer.new.represent(project, serializer: :import) + if result[:status] == :success + render json: ProjectSerializer.new.represent(result[:project], serializer: :import) else - render json: { errors: project_save_error(project) }, status: :unprocessable_entity + render json: { errors: result[:message] }, status: result[:http_status] end end |