%# Copyright 2018 Tristan Robert
This file is part of ForemanFogProxmox.
ForemanFogProxmox is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
ForemanFogProxmox is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with ForemanFogProxmox. If not, see . %>
<% type = f.object.type %>
<% server = type == 'qemu' %>
<% container = type == 'lxc' %>
<%= new_child_fields_template_typed(f, :volumes, {
:type => 'server',
:object => compute_resource.new_volume_server,
:partial => provider_partial(compute_resource, 'server/volume'),
:form_builder_attrs => { :type => type, :compute_resource => compute_resource, :new_host => new_vm, :new_vm => new_vm, :remove_title => _('remove storage volume') },
:layout => "compute_resources_vms/form/#{item_layout}_layout" }) %>
<%= new_child_fields_template_typed(f, :volumes, {
:type => 'container',
:object => compute_resource.new_volume_container(id: 'mp0'),
:partial => provider_partial(compute_resource, 'container/volume_mp'),
:form_builder_attrs => { :type => type, :compute_resource => compute_resource, :new_host => new_vm, :new_vm => new_vm, :remove_title => _('remove storage volume') },
:layout => "compute_resources_vms/form/#{item_layout}_layout" }) %>
<%= f.fields_for :volumes do |i| %>
<% if i.object.rootfs? %>
<%= render :partial => provider_partial(compute_resource, 'container/volume_rootfs'), :locals => { :f => i, :type => type, :compute_resource => compute_resource, :new_host => new_vm, :new_vm => new_vm, :remove_title => _('remove storage volume'), :disabled => !container }, :layout => "compute_resources_vms/form/#{item_layout}_layout" %>
<% elsif i.object.mount_point? %>
<%= render :partial => provider_partial(compute_resource, 'container/volume_mp'), :locals => { :f => i, :type => type, :compute_resource => compute_resource, :new_host => new_vm, :new_vm => new_vm, :remove_title => _('remove storage volume'), :disabled => !container }, :layout => "compute_resources_vms/form/#{item_layout}_layout" %>
<% elsif i.object.controller? %>
<%= render :partial => provider_partial(compute_resource, 'server/volume'), :locals => { :f => i, :type => type, :compute_resource => compute_resource, :new_host => new_vm, :new_vm => new_vm, :remove_title => _('remove storage volume'), :disabled => !server }, :layout => "compute_resources_vms/form/#{item_layout}_layout" %>
<% end %>
<% end %>
<%= add_child_link_typed '+ ' + _("Add Volume"), :volumes, 'server', { :class => "info #{'hide' unless server}", :title => _('add new storage volume') } %>
<%= add_child_link_typed '+ ' + _("Add Volume"), :volumes, 'container', { :class => "info #{'hide' unless container}", :title => _('add new storage volume') } %>