Revision 2b6605c4
Added by Ori Rabin about 9 years ago
app/assets/javascripts/lookup_keys.js | ||
---|---|---|
var fields = reloadedItem.closest('.fields');
|
||
var mergeOverrides = fields.find("[id$='_merge_overrides']");
|
||
var avoidDuplicates = fields.find("[id$='_avoid_duplicates']");
|
||
var overrideMergeDiv = fields.find("[id$='lookup_key_override_merge']");
|
||
|
||
changeCheckboxEnabledStatus(mergeOverrides, keyType == 'array' || keyType == 'hash');
|
||
changeCheckboxEnabledStatus(avoidDuplicates, keyType == 'array' && $(mergeOverrides).attr('checked') == 'checked');
|
||
overrideMergeDiv.toggle(keyType == 'array' || keyType == 'hash');
|
||
}
|
||
|
||
function mergeOverridesChanged(item) {
|
app/assets/stylesheets/puppetclasses.scss | ||
---|---|---|
.lookup_values {
|
||
.fields {
|
||
border-top: 1px dotted lightgrey;
|
||
padding-top: 10px;
|
||
}
|
||
}
|
app/helpers/common_parameters_helper.rb | ||
---|---|---|
content_tag(:span, :class => "help-block") { popover(_("Additional info"), _("<b>Source:</b> %{type} %{name}") % {:type => _(value[:source].to_s), :name => source_name})}
|
||
end
|
||
end
|
||
|
||
def use_puppet_default_help link_title = _("Explain use Puppet default"), title = _("Use Puppet default")
|
||
popover(link_title, _("Do not send this parameter via the ENC.<br>Puppet will use the value defined in the manifest."), :title => title)
|
||
end
|
||
end
|
app/views/common_parameters/_inherited_parameters.html.erb | ||
---|---|---|
<th class='col-md-3'><%= _("Scope") %></th>
|
||
<th class='col-md-2'><%= _("Name") %></th>
|
||
<th class='col-md-5'><%= _("Value") %></th>
|
||
<th class='col-md-2'><%= _("Use Puppet default") %></th>
|
||
<th><%= _('Actions') %></th>
|
||
</tr>
|
||
</thead>
|
app/views/common_parameters/_parameter.html.erb | ||
---|---|---|
<tbody>
|
||
<tr class="form-group <%= 'has-error' if f.object.errors.any? %>">
|
||
<% if controller_name =~ /(host|hostgroup)/ %>
|
||
<td class="col-md-2">
|
||
<td class="col-md-3">
|
||
<%= content_tag(:input, '', :class => "form-control", :disabled => true, :value => _('Global'), :type=> :text ) %>
|
||
</td>
|
||
<% end %>
|
||
<td class="col-md-2">
|
||
<%= f.text_field(:name, :class => "form-control", :disabled => disabled, :placeholder => _("Name")) %>
|
||
</td>
|
||
<td class="col-md-6 value">
|
||
<td class="col-md-5 value">
|
||
<% if f.object.hidden_value? %>
|
||
<%= f.password_field(:value, :class => 'form-control',
|
||
:disabled => disabled,
|
app/views/common_parameters/_parameters.html.erb | ||
---|---|---|
<div id="parameters">
|
||
<table class="table table-condensed" id="global_parameters_table">
|
||
<thead>
|
||
<tr>
|
||
<th class='col-md-3'><%= _("Global Parameters") %></th>
|
||
<th class='col-md-2'><%= _("Name") %></th>
|
||
<th class='col-md-5'><%= _("Value") %></th>
|
||
<th><%= _('Actions') %></th>
|
||
</tr>
|
||
</thead>
|
||
</table>
|
||
|
||
<%= f.fields_for type do |builder| %>
|
||
<%= render "common_parameters/parameter", :f => builder %>
|
||
<% end %>
|
app/views/common_parameters/_puppetclass_parameter.html.erb | ||
---|---|---|
:placeholder => _("Value") %>
|
||
<%= text_field_tag '', (f.object.lookup_key.key_type rescue 'unknown'), :class=> 'hide', :'data-property' => 'type', :disabled => true, :title => _('Parameter type') %>
|
||
</td>
|
||
<td class="col-md-2">
|
||
<td class="col-md-5">
|
||
<%= f.check_box :use_puppet_default, :'data-property' => 'use_puppet_default',
|
||
:disabled => (not authorized_via_my_scope("host_editing", "edit_params")),
|
||
:onchange=>'toggleUsePuppetDefaultValue(this, "value")' %>
|
||
<%= popover('', _('Do not send this parameter via the ENC. Puppet will use the value defined in the puppet manifest for this parameter')) %>
|
||
<%= use_puppet_default_help('') %>
|
||
</td>
|
||
<td class="col-md-1">
|
||
<td>
|
||
<span class="help-block">
|
||
<%= link_to_remove_fields('', f) %>
|
||
</span>
|
app/views/common_parameters/_puppetclasses_parameters.html.erb | ||
---|---|---|
<div id="puppetclasses_parameters">
|
||
<table class="table table-condensed" id="puppetclasses_parameters_table">
|
||
<thead>
|
||
<tr>
|
||
<th class='col-md-3'><%= _("Puppet class overrides") %></th>
|
||
<th class='col-md-2'><%= _("Name") %></th>
|
||
<th class='col-md-5'><%= _("Value") %></th>
|
||
<th class='col-md-3'><%= _("Use Puppet default") %></th>
|
||
<th><%= _('Actions') %></th>
|
||
</tr>
|
||
</thead>
|
||
</table>
|
||
|
||
<%= f.fields_for :lookup_values do |builder| %>
|
||
<%= render "common_parameters/puppetclass_parameter", :f => builder %>
|
||
<% end %>
|
||
|
||
|
||
<%# Hidden button to add an override, used from javascript only %>
|
||
<%= authorized_via_my_scope('host_editing', 'create_params') ? link_to_add_fields('+ ' + _('Override a Puppetclass Parameter'), f, :lookup_values, 'common_parameters/puppetclass_parameter', :class => 'hide') : '' %>
|
||
|
||
|
||
</div>
|
app/views/hostgroups/_form.html.erb | ||
---|---|---|
</div>
|
||
|
||
<div class="tab-pane" id="params">
|
||
<h6><%= _('Puppet classes parameters') %></h6>
|
||
<h4><%= _('Puppet classes parameters') %></h4>
|
||
<p/>
|
||
<%= render "puppetclasses/classes_parameters", { :obj => @hostgroup } %>
|
||
<p/>
|
||
<%= render "common_parameters/inherited_parameters" %>
|
||
<h6><%= _('Host group parameters') %></h6>
|
||
<p/>
|
||
<%= render "common_parameters/puppetclasses_parameters", :f => f %>
|
||
<p/>
|
||
<h4><%= _('Host group parameters') %></h4>
|
||
<p/>
|
||
<% if @hostgroup.parent.present? %>
|
||
<%= render "common_parameters/parent_parameter", :f => f %>
|
||
<%= render "common_parameters/parent_parameter", :f => f %>
|
||
<% end %>
|
||
<p/>
|
||
<%= render "common_parameters/parameters", { :f => f, :type => :group_parameters } %>
|
app/views/hosts/_form.html.erb | ||
---|---|---|
<%= render('hosts/unattended', :f => f) if SETTINGS[:unattended] and @host.managed %>
|
||
|
||
<div class="tab-pane" id="params">
|
||
<h6><%= _('Puppet classes Parameters') %></h6>
|
||
<h4><%= _('Puppet classes Parameters') %></h4>
|
||
<p></p>
|
||
<%= render "puppetclasses/classes_parameters", { :obj => @host } %>
|
||
<h6><%= _('Included Parameters via inheritance') %></h6>
|
||
<h4><%= _('Included Parameters via inheritance') %></h4>
|
||
<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 %>
|
||
<h4><%= _('Host Parameters') %></h4>
|
||
<p></p>
|
||
<%= render "common_parameters/parameters", { :f => f, :type => :host_parameters } %>
|
||
</div>
|
app/views/lookup_keys/_fields.html.erb | ||
---|---|---|
) if is_param%>
|
||
|
||
<%= param_type_selector(f, :onchange => 'keyTypeChange(this)') %>
|
||
<%= textarea_f f, :default_value, :value => f.object.default_value_before_type_cast,:size => "col-md-8",
|
||
:disabled => (f.object.is_param && (!f.object.override || f.object.use_puppet_default)),
|
||
:rows => :auto, :help_block => _("Value to use when there is no match") %>
|
||
<%= checkbox_f(f, :use_puppet_default, :label => _('Use Puppet default'), :size => "col-md-8",
|
||
:help_block => _('Do not send this parameter via the ENC. Puppet will use the value defined in the Puppet manifest for this parameter.'),
|
||
:help_block => use_puppet_default_help,
|
||
:onchange=>'toggleUsePuppetDefaultValue(this, "default_value")',
|
||
:disabled => (f.object.is_param && !f.object.override)) if is_param %>
|
||
</br>
|
||
<%= textarea_f f, :default_value, :value => f.object.default_value_before_type_cast,:size => "col-md-8",
|
||
:disabled => (f.object.is_param && (!f.object.override || f.object.use_puppet_default)),
|
||
:rows => :auto, :help_block => _("Value to use when there is no match") %>
|
||
</br>
|
||
<div <%= "id=#{(f.object.key || 'new_lookup_keys').to_s.gsub(' ','_')}_lookup_key_override_value" %> style=<%= "display:none;" if (f.object.is_param && !f.object.override) %>>
|
||
<legend><%= _("Optional input validator") %></legend>
|
||
<p class="help-block">
|
||
<%= _('Note that if you use ERB as a value of parameter, value will be validated during ENC evaluation. If value is invalid, ENC evaluation will fail.') %>
|
||
</p>
|
||
<%= checkbox_f(f, :required, :size => "col-md-8", :disabled => !f.object.override,
|
||
:help_block => _("If checked, will raise an error if there is no default value and no matcher provide a value.")
|
||
:help_block => _("If checked, will raise an error if there is no default value and no matcher provide a value.")
|
||
) if is_param %>
|
||
<%= validator_type_selector f %>
|
||
<%= text_f f, :validator_rule, :size => "col-md-8", :disabled => f.object.validator_type.blank? %>
|
||
<div <%= "id=#{(f.object.key || 'new_lookup_keys').to_s.gsub(' ','_')}_lookup_key_override_merge" %> style=<%= "display:none;" if (!f.object.merge_overrides) %>>
|
||
<legend><%= _("Override merging options") %></legend>
|
||
<%= checkbox_f(f, :merge_overrides, :onchange => 'mergeOverridesChanged(this)',
|
||
:disabled => !f.object.supports_merge?, :size => "col-md-8",
|
||
:help_block => _("Should the matchers continue to look for matches after first find (only array/hash type). Note: merging overrides ignores all matchers that use Puppet default")) %>
|
||
<%= checkbox_f(f, :avoid_duplicates, :disabled => (!f.object.supports_uniq? || !f.object.merge_overrides), :size => "col-md-8",
|
||
:help_block => _("Should the matched result avoid duplicate values (only array type).")) %>
|
||
</div>
|
||
|
||
<legend><%= _("Override value for specific hosts") %></legend>
|
||
<%= checkbox_f(f, :merge_overrides, :onchange => 'mergeOverridesChanged(this)',
|
||
:disabled => !f.object.supports_merge?, :size => "col-md-8",
|
||
:help_block => _("Should the matchers continue to look for matches after first find (only array/hash type). Note: merging overrides ignores all matchers that use Puppet default")) %>
|
||
<%= checkbox_f(f, :avoid_duplicates, :disabled => (!f.object.supports_uniq? || !f.object.merge_overrides), :size => "col-md-8",
|
||
:help_block => _("Should the matched result avoid duplicate values (only array type).")) %>
|
||
<%= textarea_f f, :path, :rows => :auto, :label => _("Order"), :size => "col-md-8", :value => f.object.path,
|
||
:help_block => popover(_("The order in which values are resolved"),
|
||
_("The order in which matchers keys are processed, first match wins.<br> You may use multiple attributes as a matcher key, for example, an order of <code>host group, environment</code> would expect a matcher such as <code>hostgroup = \"web servers\", environment = production</code>"), :title => _("The order in which values are resolved")).html_safe
|
||
:help_block => popover(_("The order in which values are resolved"),
|
||
_("The order in which matchers keys are processed, first match wins.<br> You may use multiple attributes as a matcher key, for example, an order of <code>host group, environment</code> would expect a matcher such as <code>hostgroup = \"web servers\", environment = production</code>"), :title => _("The order in which values are resolved")).html_safe
|
||
%>
|
||
|
||
<div class="children_fields">
|
||
<div class="children_fields lookup_values">
|
||
<%= new_child_fields_template(f, :lookup_values, {:partial => "lookup_keys/value", :form_builder_attrs => {:is_param => is_param}}) %>
|
||
<%= f.fields_for :lookup_values do |lookup_values| %>
|
||
<%= render 'lookup_keys/value', :f => lookup_values, :is_param => is_param %>
|
app/views/lookup_keys/_value.html.erb | ||
---|---|---|
:help_block => popover(_("Explain matchers"), _("Matcher is a combination of an attribute and its value, if they match, the value below would be provided.<br> You may use any attribute foreman knows about, such as facts etc for example: <code> domain = example.com </code> or <code> is_virtual = true</code>"),
|
||
:title => _("Matcher"))
|
||
%>
|
||
<%= checkbox_f(f, :use_puppet_default, :label => _('Use Puppet default'),
|
||
:help_inline => popover(_("Explain use Puppet default"), _('Do not send this parameter via the ENC. Puppet will use the value defined in the Puppet manifest for this parameter.')),
|
||
<%= checkbox_f(f, :use_puppet_default, :label => _('Use Puppet default'), :size => "col-md-8",
|
||
:help_block => use_puppet_default_help,
|
||
:onchange=>'toggleUsePuppetDefaultValue(this, "value")') if is_param %>
|
||
<%= textarea_f f, :value, :rows => :auto, :value => f.object.value_before_type_cast, :size => "col-md-8",
|
||
:disabled => f.object.use_puppet_default,
|
Also available in: Unified diff
Fixes #8217, #8214 - Rearranging override section in smart class parameter page and host page