Project

General

Profile

Download (7.29 KB) Statistics
| Branch: | Tag: | Revision:
<%= javascript 'host_edit', 'class_edit', 'compute_resource', 'lookup_keys'%>
<%= render "hosts/dhcp_lease_errors" if has_dhcp_lease_errors?(@host.errors) %>
<%= render "hosts/conflicts" if (!has_dhcp_lease_errors?(@host.errors) && has_conflicts?(@host.errors)) %>
<%= render "hosts/progress" %>

<% Taxonomy.as_taxonomy @organization , @location do %>

<%= form_for @host, :html => {:data => {:id => @host.try(:id), :type_changed => @host.type_changed?, :submit => 'progress_bar'}} do |f| %>
<%= base_errors_for @host %>

<ul class="nav nav-tabs" data-tabs="tabs">
<li class="active"><a href="#primary" data-toggle="tab"><%= _('Host') %></a></li>
<% if SmartProxy.with_features("Puppet").count > 0 %>
<li><a href="#puppet_klasses" data-toggle="tab"><%= _('Puppet Classes') %></a></li>
<% end %>
<% if SETTINGS[:unattended] and @host.managed %>
<li><a href="#network" data-toggle="tab"><%= _('Network') %></a></li>
<li><a href="#os" data-toggle="tab"><%= _('Operating System') %></a></li>
<% if authorized_for(:controller => "Compute::Resources::Vms", :action => :create) %>
<li id="compute_resource_tab" <%= display? !(@host.compute_resource_id || params[:host] && params[:host][:compute_resource_id].present?)%>><a href="#compute_resource" data-toggle="tab"><%= _('Virtual Machine') %></a></li>
<% end %>
<% end %>
<li><a href="#params" id='params-tab' data-url='<%= current_parameters_hosts_path %>' data-url2='<%= puppetclass_parameters_hosts_path %>' data-toggle="tab"><%= _('Parameters') %></a></li>
<li><a href="#info" data-toggle="tab"><%= _('Additional Information') %></a></li>
</ul>

<div class="tab-content">

<div class="tab-pane active" id="primary">
<%= text_f f, :name, :size => "col-md-8", :value => name_field(@host) %>

<% if show_organization_tab? %>
<%= select_f f, :organization_id, Organization.my_organizations, :id, :to_label,
{ :include_blank => !@host.managed?, :selected => @organization.try(:id)},
{ :disabled => !@host.new_record?,
:onchange => 'organization_changed(this);', :label => _("Organization"), :'data-host-id' => @host.id,
:'data-url' => process_taxonomy_hosts_path,
:help_inline => :indicator,
:required => SETTINGS[:organizations_enabled] } %>
<% end %>

<% if show_location_tab? %>
<%= select_f f, :location_id, Location.my_locations, :id, :to_label,
{ :include_blank => !@host.managed?, :selected => @location.try(:id) },
{ :disabled => !@host.new_record?,
:onchange => 'location_changed(this);', :label => _("Location"), :"data-host-id" => @host.id,
:'data-url' => process_taxonomy_hosts_path, :selected => Location.my_locations,
:help_inline => :indicator,
:required => SETTINGS[:locations_enabled] } %>
<% end %>

<%= select_f f, :hostgroup_id, accessible_hostgroups, :id, :to_label,
{ :include_blank => true},
{ :onchange => 'hostgroup_changed(this);', :'data-host-id' => @host.id,
:'data-url' => (@host.new_record? || @host.type_changed?) ? process_hostgroup_hosts_path : hostgroup_or_environment_selected_hosts_path,
:help_inline => :indicator } %>

<%= select_f f, :compute_resource_id, ComputeResource.with_taxonomy_scope_override(@location,@organization).authorized(:view_compute_resources), :id, :to_label,
{ :include_blank => _('Bare Metal') },
{:label => _('Deploy on'), :disabled => !@host.new_record?, :'data-url' => compute_resource_selected_hosts_path,
:onchange => 'computeResourceSelected(this);',
:help_inline => :indicator } if SETTINGS[:unattended] && @host.new_record? || @host.compute_resource_id %>

<% if @host.new_record? && ComputeProfile.visibles.any? %>
<%# only show compute_profile select box for new hosts. It is not relevant for existing hosts as the VM attributes defined could
be different from the defaults, or the defaults could have changed after the vm was created. %>
<div id="compute_profile" <%= display?(!@host.compute_resource_id) %> >
<%= select_f f, :compute_profile_id, ComputeProfile.visibles, :id, :name,
{ :include_blank => true },
{ :label => _("Compute profile"), :'data-url' => compute_resource_selected_hosts_path,
:onchange => 'computeResourceSelected(this);',
:help_inline => :indicator } if SETTINGS[:unattended] %>
</div>
<% end %>

<%= select_f f, :environment_id, Environment.with_taxonomy_scope_override(@location,@organization), :id, :to_label, { :include_blank => true },
{:onchange => 'update_puppetclasses(this)', :'data-url' => hostgroup_or_environment_selected_hosts_path,
:'data-host-id' => @host.id, :help_inline => :indicator} %>
<%= puppet_master_fields f %>
</div>

<div class="tab-pane" id="puppet_klasses">
<% if @environment or @hostgroup %>
<%= render 'puppetclasses/class_selection', :obj => @host %>
<% else %>
<%= alert :class => 'alert-warning', :text => _('Please select an environment first') %>
<% end %>
</div>

<%= f.hidden_field :managed %>
<%= f.hidden_field :progress_report_id, :data=>{:url=>task_path(@host.progress_report_id)} %>
<%= f.hidden_field :type, :value => @host.type if @host.type_changed? %>

<%= render('hosts/unattended', :f => f) if SETTINGS[:unattended] and @host.managed %>

<div class="tab-pane" id="params">
<h6><%= _('Puppet classes Parameters') %></h6>
<p></p>
<%= render "puppetclasses/classes_parameters", { :obj => @host } %>
<h6><%= _('Included Parameters via inheritance') %></h6>
<p></p>
<%= render "common_parameters/inherited_parameters", { :inherited_parameters => @host.host_inherited_params(true) } %>
<h6><%= _('Host Parameters') %></h6>
<p></p>
<%= render "common_parameters/puppetclasses_parameters", :f => f %>
<p></p>
<%= render "common_parameters/parameters", { :f => f, :type => :host_parameters } %>
</div>

<div class="tab-pane" id="info">
<% if SETTINGS[:login] %>
<%= selectable_f f, :is_owned_by, option_groups_from_collection_for_select(
[User, Usergroup], :visible, :table_name, :id_and_type, :select_title,
@host.is_owned_by || User.current.id_and_type), { :include_blank => _("select an owner") }, { :label => _("Owned By") }
%>
<% end %>
<%= checkbox_f f, :enabled,
:help_inline => _("Include this host within Foreman reporting")
%>
<div id='model_name'>
<%= select_f f, :model_id, Model.all, :id, :to_label, { :include_blank => true }, {:label => _("Hardware Model")} unless @host.compute_resource_id%>
</div>
<%= textarea_f f, :comment, :help_block => _("Additional information about this host"), :size => "col-md-8", :rows => "3" %>
</div>

</div>

<%= f.hidden_field :overwrite? %>
<%= submit_or_cancel f, @host.overwrite?, :cancel_path => @host.new_record? || !@host.name_changed? ? @host : edit_host_path(@host.name_was) %>
<% end %>
<% end %>
(6-6/37)