docbrown/app/views/admin/settings/forms/_mandatory.html.erb

45 lines
2.3 KiB
Text

<%= form_with(url: admin_settings_mandatory_settings_path, data: { action: "submit->config#updateConfigurationSettings", testid: "getStartedSectionForm" }) do |f| %>
<fieldset class="grid gap-4">
<% Settings::Mandatory::MAPPINGS.each do |config_key, settings_model| %>
<%# we need to list the config as separate fields if the data structure is a Hash %>
<% placeholder_module = Constants.const_get(settings_model.name) %>
<% if settings_model.public_send(config_key).is_a?(Hash) %>
<%= admin_config_label config_key.to_s %>
<div class="form-group">
<%= f.fields_for config_key do |a_field| %>
<% settings_model.public_send(config_key).each do |key, value| %>
<div class="crayons-field">
<%= admin_config_label key.to_s %>
<%= admin_config_description "#{key} #{config_key.to_s.tr! '_', ' '}" %>
<%= a_field.text_field key,
class: "crayons-textfield",
value: settings_model.public_send(config_key)[key],
placeholder: placeholder_module::DETAILS[config_key][:placeholder] %>
</div>
<% end %>
<% end %>
</div>
<% elsif settings_model.public_send(config_key).is_a?(Array) %>
<div class="crayons-field">
<%= admin_config_label config_key %>
<%= admin_config_description placeholder_module::DETAILS[config_key][:description] %>
<%= f.text_field config_key,
class: "crayons-textfield",
value: settings_model.public_send(config_key).join(","),
placeholder: placeholder_module::DETAILS[config_key][:placeholder] %>
</div>
<% else %>
<div class="crayons-field">
<%= admin_config_label config_key %>
<%= admin_config_description placeholder_module::DETAILS[config_key][:description] %>
<%= f.text_field config_key,
class: "form-control",
value: settings_model.public_send(config_key),
placeholder: placeholder_module::DETAILS[config_key][:placeholder] %>
</div>
<% end %>
<% end %>
</fieldset>
<%= render "update_setting_button", f: f %>
<% end %>