Skip to content

Commit

Permalink
Merge pull request #2411 from ZitaNemeckova/fix_widget_import
Browse files Browse the repository at this point in the history
Fix wrong flash messages after widget import
(cherry picked from commit a26b01e)

https://bugzilla.redhat.com/show_bug.cgi?id=1504775
  • Loading branch information
mzazrivec authored and simaishi committed Nov 20, 2017
1 parent 17f7e68 commit 7c8eb3f
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 4 deletions.
8 changes: 6 additions & 2 deletions app/controllers/report_controller.rb
Expand Up @@ -246,8 +246,12 @@ def import_widgets
import_file_upload = ImportFileUpload.where(:id => params[:import_file_upload_id]).first
if import_file_upload
$log.info("[#{session[:userid]}] initiated import")
widget_import_service.import_widgets(import_file_upload, params[:widgets_to_import])
add_flash(_("Widgets imported successfully"), :success)
if params[:widgets_to_import].nil?
add_flash(_("Error: No widget was selected to be imported."), :error)
else
number = widget_import_service.import_widgets(import_file_upload, params[:widgets_to_import])
add_flash(n_("%{number} widget imported successfully", "%{number} widgets imported successfully", number) % {:number => number})
end
else
add_flash(_("Error: Widget import file upload expired"), :error)
end
Expand Down
4 changes: 3 additions & 1 deletion app/services/widget_import_service.rb
Expand Up @@ -28,6 +28,7 @@ def import_widget_from_hash(widget)
end

def import_widgets(import_file_upload, widgets_to_import)
number_imported_widgets = 0
unless widgets_to_import.nil?
widgets = YAML.load(import_file_upload.uploaded_content)

Expand All @@ -38,12 +39,13 @@ def import_widgets(import_file_upload, widgets_to_import)
raise ParsedNonWidgetYamlError if widgets.empty?

widgets.each do |widget|
import_widget_from_hash(widget["MiqWidget"])
number_imported_widgets += 1 if import_widget_from_hash(widget["MiqWidget"])
end
end

destroy_queued_deletion(import_file_upload.id)
import_file_upload.destroy
number_imported_widgets
end

def store_for_import(file_contents)
Expand Down
3 changes: 2 additions & 1 deletion spec/controllers/report_controller_spec.rb
Expand Up @@ -1011,9 +1011,10 @@
end

it "returns the flash message" do
allow(widget_import_service).to receive(:import_widgets).and_return(1)
post :import_widgets, :params => params, :xhr => true
expect(controller.instance_variable_get(:@flash_array))
.to include(:message => "Widgets imported successfully", :level => :success)
.to include(:message => "1 widget imported successfully", :level => :success)
end
end

Expand Down

0 comments on commit 7c8eb3f

Please sign in to comment.