From 06fdcf69c2a7099fe7bff8a58181be3334b645ff Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 5 Dec 2016 11:43:24 -0500 Subject: [PATCH] Merge pull request #12964 from eclarizio/BZ1393982_async Fix for UI hangs if errors are encountered during Git Import (cherry picked from commit f698c9e4e22380f3bbdc2f9f766a2884ae950a1f) --- app/assets/javascripts/application.js | 1 + .../javascripts/automate_import_export.js | 17 +- app/assets/javascripts/git_import.js | 50 ++++ app/assets/javascripts/import.js | 3 +- app/controllers/miq_ae_tools_controller.rb | 91 ++++--- app/services/git_repository_service.rb | 15 ++ .../miq_ae_tools/_import_export.html.haml | 5 +- config/routes.rb | 1 + .../miq_ae_tools_controller_spec.rb | 253 ++++++++++-------- .../automate_import_export_spec.js | 90 +++++++ spec/javascripts/git_import_spec.js | 148 ++++++++++ spec/javascripts/import_spec.js | 2 +- spec/services/git_repository_service_spec.rb | 109 ++++++++ 13 files changed, 617 insertions(+), 168 deletions(-) create mode 100644 app/assets/javascripts/git_import.js create mode 100644 app/services/git_repository_service.rb create mode 100644 spec/javascripts/git_import_spec.js create mode 100644 spec/services/git_repository_service_spec.rb diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 649888a8282..9d1efec74ae 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -34,6 +34,7 @@ //= require miq_application //= require miq_change_stored_password //= require miq_qe +//= require git_import //= require automate_import_export //= require dialog_field_refresh //= require excanvas diff --git a/app/assets/javascripts/automate_import_export.js b/app/assets/javascripts/automate_import_export.js index 55921cbfee4..a71447df2a2 100644 --- a/app/assets/javascripts/automate_import_export.js +++ b/app/assets/javascripts/automate_import_export.js @@ -33,8 +33,8 @@ var Automate = { renderGitImport: function(branches, tags, gitRepoId, messages) { clearMessages(); - message = JSON.parse(messages).message; - messageLevel = JSON.parse(messages).level; + var message = messages.message; + var messageLevel = messages.level; if (messageLevel === "error") { showErrorMessage(message); @@ -50,17 +50,14 @@ var Automate = { var addToDropDown = function(identifier, child) { $('select.git-' + identifier).append( - $('