Skip to content

Commit

Permalink
Refactor resource_pool controller, make Edit VM thru Resource Pool work
Browse files Browse the repository at this point in the history
  • Loading branch information
Hilda Stastna committed Jan 17, 2020
1 parent 4ca7d4a commit 31866e1
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 42 deletions.
7 changes: 4 additions & 3 deletions app/controllers/mixins/generic_button_mixin.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ def handle_vm_buttons(pressed)
return [:finished, pfx] if vm_button_redirected?(pfx, pressed)

unless ["#{pfx}_edit", "#{pfx}_miq_request_new", "#{pfx}_clone",
"#{pfx}_migrate", "#{pfx}_publish"].include?(pressed)
"#{pfx}_migrate", "#{pfx}_publish", 'vm_rename'].include?(pressed)
@refresh_div = "main_div"
@refresh_partial = "layouts/gtl"
show # Handle VMs buttons
Expand Down Expand Up @@ -79,8 +79,9 @@ def button
return
end

if params[:pressed].ends_with?("_edit") || ["#{pfx}_miq_request_new", "#{pfx}_clone",
"#{pfx}_migrate", "#{pfx}_publish"].include?(params[:pressed])
if params[:pressed].ends_with?("_edit") ||
["#{pfx}_miq_request_new", "#{pfx}_clone", "#{pfx}_migrate", "#{pfx}_publish"].include?(params[:pressed]) ||
params[:pressed] == 'vm_rename' && @flash_array.nil?
render_or_redirect_partial(pfx)
elsif @refresh_div == "main_div" && @lastaction == "show_list"
replace_gtl_main_div
Expand Down
51 changes: 12 additions & 39 deletions app/controllers/resource_pool_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ class ResourcePoolController < ApplicationController
after_action :cleanup_action
after_action :set_session_data

include Mixins::GenericButtonMixin
include Mixins::GenericListMixin
include Mixins::GenericSessionMixin
include Mixins::GenericShowMixin
Expand All @@ -17,48 +18,20 @@ def self.display_methods
def button
@edit = session[:edit] # Restore @edit for adv search box
params[:display] = @display if %w[all_vms vms resource_pools].include?(@display) # Were we displaying sub-items
if %w[all_vms vms resource_pools].include?(@display) # Need to check, since RPs contain RPs

if params[:pressed].starts_with?("vm_", # Handle buttons from sub-items screen
"miq_template_",
"guest_")

pfx = pfx_for_vm_button_pressed(params[:pressed])
process_vm_buttons(pfx)

return if ["#{pfx}_policy_sim", "#{pfx}_compare", "#{pfx}_tag", "#{pfx}_protect",
"#{pfx}_retire", "#{pfx}_right_size", "#{pfx}_ownership",
"#{pfx}_reconfigure"].include?(params[:pressed]) &&
@flash_array.nil? # Some other screen is showing, so return

unless ["#{pfx}_edit", "#{pfx}_miq_request_new", "#{pfx}_clone",
"#{pfx}_migrate", "#{pfx}_publish", 'vm_rename'].include?(params[:pressed])
@refresh_div = "main_div"
@refresh_partial = "layouts/gtl"
show
end
@refresh_div = "main_div" unless @display # Default div for button.rjs to refresh
case params[:pressed]
when 'resource_pool_delete'
deleteresourcepools
if @refresh_div == "main_div" && @lastaction == "show_list"
replace_gtl_main_div
else
render_flash unless performed?
end
when 'resource_pool_protect'
assign_policies(ResourcePool)
else
@refresh_div = "main_div" # Default div for button.rjs to refresh
tag(ResourcePool) if params[:pressed] == "resource_pool_tag"
deleteresourcepools if params[:pressed] == "resource_pool_delete"
assign_policies(ResourcePool) if params[:pressed] == "resource_pool_protect"
end

return if %w[resource_pool_tag resource_pool_protect].include?(params[:pressed]) && @flash_array.nil? # Tag screen showing, so return

check_if_button_is_implemented

if single_delete_test
single_delete_redirect
elsif ["#{pfx}_miq_request_new", "#{pfx}_migrate", "#{pfx}_clone",
"#{pfx}_migrate", "#{pfx}_publish"].include?(params[:pressed]) ||
params[:pressed] == 'vm_rename' && @flash_array.nil?
render_or_redirect_partial(pfx)
elsif @refresh_div == "main_div" && @lastaction == "show_list"
replace_gtl_main_div
else
render_flash unless performed?
super
end
end

Expand Down

0 comments on commit 31866e1

Please sign in to comment.