diff options
author | Fatih Acet <acetfatih@gmail.com> | 2016-06-06 18:58:24 +0300 |
---|---|---|
committer | Fatih Acet <acetfatih@gmail.com> | 2016-06-06 18:58:24 +0300 |
commit | 3f2db9d971dd92b446e2a615ed758090079a8c64 (patch) | |
tree | c3034fc5bde8c3d0d2516de01e67d44c0c796fa1 /app/services/projects/create_service.rb | |
parent | 5b43eeee97f8e06a4ada4b173cb972c20d58d8ed (diff) | |
parent | ac4e3e8cf016f2c2b3dcf3997673310a5df658a9 (diff) | |
download | gitlab-ce-3f2db9d971dd92b446e2a615ed758090079a8c64.tar.gz |
Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce into button-focus-statebutton-focus-state
Diffstat (limited to 'app/services/projects/create_service.rb')
-rw-r--r-- | app/services/projects/create_service.rb | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/app/services/projects/create_service.rb b/app/services/projects/create_service.rb index 6728fabea1e..61cac5419ad 100644 --- a/app/services/projects/create_service.rb +++ b/app/services/projects/create_service.rb @@ -56,14 +56,14 @@ module Projects after_create_actions if @project.persisted? - @project.add_import_job if @project.import? - + if @project.errors.empty? + @project.add_import_job if @project.import? + else + fail(error: @project.errors.full_messages.join(', ')) + end @project rescue => e - message = "Unable to save project: #{e.message}" - Rails.logger.error(message) - @project.errors.add(:base, message) if @project - @project + fail(error: e.message) end protected @@ -103,5 +103,19 @@ module Projects end end end + + def fail(error:) + message = "Unable to save project. Error: #{error}" + message << "Project ID: #{@project.id}" if @project && @project.id + + Rails.logger.error(message) + + if @project && @project.import? + @project.errors.add(:base, message) + @project.mark_import_as_failed(message) + end + + @project + end end end |