Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Physical server page #970

Closed
wants to merge 48 commits into from
Closed
Changes from 1 commit
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
ca99b62
[Routes] Adds routes to physical_server
Mar 20, 2017
95edeb1
[EmsCommon] Adds physical_server flags
Mar 20, 2017
0ef30c0
[ui_constants] Adds physical_server structure
Mar 20, 2017
d60cc0a
[QuadIcon] Adds PhysicalServer structure
Mar 20, 2017
3c0e12f
[TextualSummary] Adds physical server flag
Mar 21, 2017
8affee9
[TextualSummary] Adds physical server flag
Mar 21, 2017
aa60337
[PhysicalServerFlags] Adds physical server flag
Mar 21, 2017
92c7549
[PhysicalServerViews] Adds all physical server views
Mar 21, 2017
4feb863
[PhysicalServerController] Adds physical server's controller
Mar 21, 2017
7142a11
[PhysicalServerToolbar] Adds physical server's toolbar structure.
Mar 21, 2017
bef6016
Add helpers to physical server pages
Mar 21, 2017
471a4e2
Change physical infra helpers
Mar 21, 2017
fb91056
Add images assets to physical server pages
Mar 21, 2017
ea20828
[Fix] Fixes all warning made by rubocop
Mar 21, 2017
0a3a4a3
[Fix] Fixes warning in files made by rubocop
Mar 22, 2017
4b2916a
[Fix] Fixes of warning made by rubocop into views and helpers of phys…
Mar 22, 2017
7bb757a
[Fix] Fixing some issues
Mar 22, 2017
7ad7e4b
[Fix] Changes html_safe to safe_join
Mar 22, 2017
019c7f4
[Typo] Typo some errors warning by rubocop
Mar 22, 2017
fefe826
[Typo] Delete a blank space after backslash
Mar 22, 2017
4d82e5d
[Fix] Turns into hash rockets syntax
Mar 22, 2017
5c0ef75
[Fix] Inserts '.try' method call
Mar 22, 2017
dc082d9
Merge remote-tracking branch 'manageiq/master' into physical_server_page
Mar 23, 2017
6d646bc
[BugFix] Changes the attribute methods call
Mar 23, 2017
26de5af
Create fetures for physical servers toolbar's buttons.
gabrielsvinha Apr 7, 2017
4b08d75
Update ci processing with methods for toolbar buttons
gabrielsvinha Apr 7, 2017
87c39e4
Update toolbar button with modify methods
gabrielsvinha Apr 7, 2017
f3c5a59
Insert cases for ems common show toolbar buttons
gabrielsvinha Apr 7, 2017
f069e05
Update textual summary name methods
gabrielsvinha Apr 7, 2017
19d23a1
Fix methods calls for physical server center button
gabrielsvinha Apr 10, 2017
f3f6bdc
Merge remote-tracking branch 'ManageIQ/master' into physical_server_page
gabrielsvinha Apr 10, 2017
9b82528
Remove & operators from physical server textual summary
gabrielsvinha Apr 11, 2017
7e836c4
Removes vms variable.
gabrielsvinha Apr 11, 2017
762d426
Fix ems_common controller
walteraa Apr 19, 2017
3f36681
Merge remote-tracking branch 'manageiq/master' into physical_server_page
walteraa Apr 19, 2017
8adb93b
Fix rubocop issues
walteraa Apr 19, 2017
301bb36
Fix rubocup styles for physical server textual summary
gabrielsvinha Apr 19, 2017
1c139d0
Merge branch 'physical_server_page' of github.com:lenovo/manageiq-ui-…
gabrielsvinha Apr 19, 2017
017ae3f
fixed robocop issues
MaysaMacedo Apr 19, 2017
088fb68
Fix rubocup styles for physical server textual summary
gabrielsvinha Apr 20, 2017
0fc2547
Merge remote-tracking branch 'ManageIQ/master' into physical_server_page
gabrielsvinha Apr 24, 2017
4bfd07a
merged 'physical_server_page' into fix
MaysaMacedo Apr 25, 2017
462f14f
Merge remote-tracking branch 'upstreamMIQ/master' into physical_serve…
MaysaMacedo Apr 25, 2017
13ee483
Fix CI processing controller
walteraa Apr 25, 2017
420a230
Merge remote-tracking branch 'upstream/physical_server_page' into phy…
MaysaMacedo Apr 25, 2017
ee96de7
fixed code climate issues
MaysaMacedo Apr 25, 2017
6e61f01
fixed rubocop issues
MaysaMacedo Apr 25, 2017
fd8c51e
Merge branch 'physical_server_page_fix' into HEAD
MaysaMacedo Apr 25, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 22 additions & 43 deletions app/controllers/application_controller/ci_processing.rb
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,6 @@ def set_ownership
if @explorer
@sb[:explorer] = true
ownership(ownership_items)
if @ownershipitems.empty?
add_flash(_('None of the selected items allow ownership changes'), :error)

@refresh_div = "flash_msg_div"
@refresh_partial = "layouts/flash_msg"
return
end
else
if role_allows?(:feature => "vm_ownership")
drop_breadcrumb(:name => _("Set Ownership"), :url => "/vm_common/ownership")
Expand All @@ -60,7 +53,6 @@ def set_ownership
end
end
end

alias_method :image_ownership, :set_ownership
alias_method :instance_ownership, :set_ownership
alias_method :vm_ownership, :set_ownership
Expand All @@ -84,7 +76,6 @@ def ownership(ownership_items = [])
drop_breadcrumb(:name => _("Set Ownership"), :url => "/vm_common/ownership")
ownership_items = params[:rec_ids] if params[:rec_ids]
build_ownership_info(ownership_items)
return if @ownershipitems.empty?
build_targets_hash(@ownershipitems)
if @sb[:explorer]
@refresh_partial = "shared/views/ownership"
Expand All @@ -108,10 +99,8 @@ def build_ownership_info(ownership_items)
Rbac.filtered(MiqGroup.non_tenant_groups).each { |g| @groups[g.description] = g.id.to_s }

@user = @group = DONT_CHANGE_OWNER if ownership_items.length > 1
ownership_scope = klass.where(:id => ownership_items)
ownership_scope = ownership_scope.with_ownership if klass.respond_to?(:with_ownership)
@origin_ownership_items = ownership_items
@ownershipitems = ownership_scope.order(:name)

@ownershipitems = klass.find(ownership_items).sort_by(&:name)
@view = get_db_view(klass == VmOrTemplate ? Vm : klass) # Instantiate the MIQ Report view object
@view.table = MiqFilter.records2table(@ownershipitems, @view.cols + ['id'])
end
Expand All @@ -127,18 +116,11 @@ def build_ownership_hash(ownership_items)
@group = group ? group.id.to_s : nil
Rbac.filtered(MiqGroup).each { |g| @groups[g.description] = g.id.to_s }
@user = @group = DONT_CHANGE_OWNER if ownership_items.length > 1
@ownershipitems = Rbac.filtered(klass.where(:id => ownership_items).order(:name), :class => klass)
raise _('Invalid items passed') unless @ownershipitems.pluck(:id).to_set == ownership_items.map(&:to_i).to_set
@ownershipitems = klass.find(ownership_items).sort_by(&:name)
{:user => @user,
:group => @group}
end

def valid_items_for(klass, param_ids)
scope = klass.respond_to?(:with_ownership) ? klass.with_ownership : klass
checked_ids = Rbac.filtered(scope.where(:id => param_ids)).pluck(:id)
checked_ids.to_set == param_ids.to_set
end

def ownership_update
case params[:button]
when "cancel"
Expand Down Expand Up @@ -169,10 +151,7 @@ def ownership_update
end

klass = get_class_from_controller_param(request.parameters[:controller])
param_ids = params[:objectIds].map(&:to_i)
raise _('Invalid items selected.') unless valid_items_for(klass, param_ids)

result = klass.set_ownership(param_ids, opts)
result = klass.set_ownership(params[:objectIds].map(&:to_i), opts)
unless result == true
result["missing_ids"].each { |msg| add_flash(msg, :error) } if result["missing_ids"]
result["error_updating"].each { |msg| add_flash(msg, :error) } if result["error_updating"]
Expand Down Expand Up @@ -208,7 +187,7 @@ def ownership_update
# Retire 1 or more VMs
def retirevms
assert_privileges(params[:pressed])
vms = find_checked_items_with_rbac(VmOrTemplate)
vms = find_checked_items
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why was the rbac call replaced with the non-rbac one?

if !%w(orchestration_stack service).include?(request.parameters["controller"]) && !%w(orchestration_stacks).include?(params[:display]) &&
VmOrTemplate.find(vms).any? { |vm| !vm.supports_retire? }
add_flash(_("Set Retirement Date does not apply to selected %{model}") %
Expand Down Expand Up @@ -1873,20 +1852,13 @@ def process_cloud_object_storage_buttons(pressed)
end

def cloud_object_store_button_operation(klass, task)
# Map to instance method name
case task
when "delete"
method = "#{task}_#{klass.name.underscore.to_sym}"
display_name = _(task.capitalize)
else
display_name = _(task.capitalize)
method = task = "#{klass.name.underscore.to_sym}_#{task}"
end
method = "#{task}_#{klass.name.underscore.to_sym}"
display_name = _(task.capitalize)

items = []

# Either a list or coming from a different controller
if @lastaction == "show_list" || %w(cloud_object_store_containers cloud_object_store_objects).include?(@display)
if @lastaction == "show_list" || !%w(cloud_object_store_container).include?(request.parameters["controller"])
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of making these changes here in ci_processing, could you make all the Physical Server related changes in it's own controller, which would be physical_server_controller?

items = find_checked_items
if items.empty?
add_flash(_("No %{model} were selected for %{task}") %
Expand Down Expand Up @@ -1920,11 +1892,9 @@ def get_rec_cls
when "service"
return Service
when "cloud_object_store_container"
params[:pressed].starts_with?("cloud_object_store_object") ? CloudObjectStoreObject : CloudObjectStoreContainer
when "cloud_object_store_object"
CloudObjectStoreObject
CloudObjectStoreContainer
when "ems_storage"
params[:pressed].starts_with?("cloud_object_store_object") ? CloudObjectStoreObject : CloudObjectStoreContainer
CloudObjectStoreContainer
else
return VmOrTemplate
end
Expand All @@ -1944,9 +1914,6 @@ def process_objects(objs, task, display_name = nil)
when "CloudObjectStoreContainer"
objs, _objs_out_reg = filter_ids_in_region(objs, "CloudObjectStoreContainer")
klass = CloudObjectStoreContainer
when "CloudObjectStoreObject"
objs, _objs_out_reg = filter_ids_in_region(objs, "CloudObjectStoreObject")
klass = CloudObjectStoreObject
end

assert_rbac(current_user, get_rec_cls, objs)
Expand Down Expand Up @@ -2511,6 +2478,18 @@ def refreshhosts
host_button_operation('refresh_ems', _('Refresh'))
end

def refreshphysicalservers
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment as above.
It's best to handle all Physical Server actions in physical_server_controller

#TODO refresh physical servers
end

def deletephysicalservers
#TODO delete physical servers
end

def editphysicalservers
#TODO edit physical servers
end

# Scan all selected or single displayed host(s)
def scanhosts
assert_privileges("host_scan")
Expand Down