From f41d7b899da6c5186ef20c20491590d2665aee8c Mon Sep 17 00:00:00 2001 From: Martin Povolny Date: Wed, 10 May 2017 10:31:03 +0200 Subject: [PATCH 1/2] Unify generic object toolbar selection with the other toolbars. --- app/controllers/generic_object_controller.rb | 1 + app/helpers/application_helper.rb | 7 ++++++- ...nition.rb => generic_object_definition_center.rb} | 2 +- app/helpers/application_helper/toolbar_chooser.rb | 1 + app/helpers/generic_object_helper.rb | 12 ------------ 5 files changed, 9 insertions(+), 14 deletions(-) rename app/helpers/application_helper/toolbar/{generic_object_definition.rb => generic_object_definition_center.rb} (93%) delete mode 100644 app/helpers/generic_object_helper.rb diff --git a/app/controllers/generic_object_controller.rb b/app/controllers/generic_object_controller.rb index 5383f3808de..ce941ec53fe 100644 --- a/app/controllers/generic_object_controller.rb +++ b/app/controllers/generic_object_controller.rb @@ -75,4 +75,5 @@ def features end menu_section :automate + toolbar :generic_object_definition end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 412ccd64743..1e6663665fa 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -819,7 +819,12 @@ def calculate_toolbars toolbars['summary_center_tb'] = controller.restful? ? "summary_center_restful_tb" : "summary_center_tb" end - toolbars['center_tb'] = center_toolbar_filename + # FIXME: singular vs plural for controller.class.toolbar_singular + toolbars['center_tb'] = if controller.class.toolbar_singular.present? + "#{controller.class.toolbar_singular}_center_tb" + else + center_toolbar_filename + end toolbars['custom_tb'] = controller.custom_toolbar toolbars['view_tb'] = inner_layout_present? ? x_view_toolbar_filename : view_toolbar_filename diff --git a/app/helpers/application_helper/toolbar/generic_object_definition.rb b/app/helpers/application_helper/toolbar/generic_object_definition_center.rb similarity index 93% rename from app/helpers/application_helper/toolbar/generic_object_definition.rb rename to app/helpers/application_helper/toolbar/generic_object_definition_center.rb index bce9172e3db..23568652f63 100644 --- a/app/helpers/application_helper/toolbar/generic_object_definition.rb +++ b/app/helpers/application_helper/toolbar/generic_object_definition_center.rb @@ -1,4 +1,4 @@ -class ApplicationHelper::Toolbar::GenericObjectDefinition < ApplicationHelper::Toolbar::Basic +class ApplicationHelper::Toolbar::GenericObjectDefinitionCenter < ApplicationHelper::Toolbar::Basic button_group('generic_object_definition', [ select( :generic_object_definition_choice, diff --git a/app/helpers/application_helper/toolbar_chooser.rb b/app/helpers/application_helper/toolbar_chooser.rb index fd7aedfee00..f0fd5ce49cf 100644 --- a/app/helpers/application_helper/toolbar_chooser.rb +++ b/app/helpers/application_helper/toolbar_chooser.rb @@ -667,6 +667,7 @@ def unassigned_configuration_profile_node(nodes) end NO_GTL_VIEW_BUTTONS = %w(chargeback + generic_object generic_object_definition miq_ae_class miq_ae_customization diff --git a/app/helpers/generic_object_helper.rb b/app/helpers/generic_object_helper.rb deleted file mode 100644 index d4bbab52e48..00000000000 --- a/app/helpers/generic_object_helper.rb +++ /dev/null @@ -1,12 +0,0 @@ -module GenericObjectHelper - TOOLBAR_CLASSES = [ - ApplicationHelper::Toolbar::XHistory, - ApplicationHelper::Toolbar::GenericObjectDefinition - ].freeze - - def toolbar_from_hash - TOOLBAR_CLASSES.collect do |toolbar_class| - _toolbar_builder.build_toolbar_by_class(toolbar_class) - end - end -end From 3cdeee34e2dd0ce844edf40fb5fb01de216cefff Mon Sep 17 00:00:00 2001 From: Martin Povolny Date: Wed, 10 May 2017 10:43:06 +0200 Subject: [PATCH 2/2] GenericObject: adjust specs. --- .../generic_object_controller_spec.rb | 4 +++ .../toolbar_builder_spec.rb | 4 +-- spec/helpers/generic_object_helper_spec.rb | 32 ------------------- 3 files changed, 6 insertions(+), 34 deletions(-) delete mode 100644 spec/helpers/generic_object_helper_spec.rb diff --git a/spec/controllers/generic_object_controller_spec.rb b/spec/controllers/generic_object_controller_spec.rb index d8f2a764927..6ff14ea64da 100644 --- a/spec/controllers/generic_object_controller_spec.rb +++ b/spec/controllers/generic_object_controller_spec.rb @@ -90,6 +90,10 @@ ) end + it "sets the GenericObjectDefinition toolbar" do + expect(described_class.toolbar_singular).to eq(:generic_object_definition) + end + it "sets up the trees variable" do expect(assigns[:trees]).to eq("nodes") end diff --git a/spec/helpers/application_helper/toolbar_builder_spec.rb b/spec/helpers/application_helper/toolbar_builder_spec.rb index f6f93c4340e..c5b29360e38 100644 --- a/spec/helpers/application_helper/toolbar_builder_spec.rb +++ b/spec/helpers/application_helper/toolbar_builder_spec.rb @@ -479,7 +479,7 @@ end context "when the toolbar to be built is a generic object toolbar" do - let(:toolbar_to_build) { 'generic_object_definition_tb' } + let(:toolbar_to_build) { 'generic_object_definition_center_tb' } before do allow(Rbac).to receive(:role_allows?).and_return(true) @@ -549,7 +549,7 @@ end context "when the toolbar to be built is a generic object toolbar" do - let(:toolbar_to_build) { ApplicationHelper::Toolbar::GenericObjectDefinition } + let(:toolbar_to_build) { ApplicationHelper::Toolbar::GenericObjectDefinitionCenter } before do allow(Rbac).to receive(:role_allows?).and_return(true) diff --git a/spec/helpers/generic_object_helper_spec.rb b/spec/helpers/generic_object_helper_spec.rb deleted file mode 100644 index 8219f98578b..00000000000 --- a/spec/helpers/generic_object_helper_spec.rb +++ /dev/null @@ -1,32 +0,0 @@ -class GenericObjectHelperClass - include GenericObjectHelper - - def initialize(toolbar_builder) - @toolbar_builder = toolbar_builder - end - - def _toolbar_builder - @toolbar_builder - end -end - -describe GenericObjectHelper do - let(:toolbar_builder) { instance_double(ApplicationHelper::ToolbarBuilder) } - let(:subject) { GenericObjectHelperClass.new(toolbar_builder) } - - describe "#toolbar_from_hash" do - before do - allow(toolbar_builder).to receive(:build_toolbar_by_class).with( - ApplicationHelper::Toolbar::XHistory - ).and_return("xhistory") - - allow(toolbar_builder).to receive(:build_toolbar_by_class).with( - ApplicationHelper::Toolbar::GenericObjectDefinition - ).and_return("generic_object") - end - - it "collects the built toolbars" do - expect(subject.toolbar_from_hash).to eq(%w(xhistory generic_object)) - end - end -end