LafayetteCollegeLibraries/spot

View on GitHub
app/views/bulkrax/importers/_form.html.erb

Summary

Maintainability
Test Coverage
<div class="panel-body">
  <% if importer.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(importer.errors.count, "error") %> prohibited this importer from being saved:</h2>

      <ul>
        <% importer.errors.full_messages.each do |message| %>
          <li><%= message %></li>
        <% end %>
      </ul>
    </div>
  <% end %>

  <%= form.input :name, input_html: { class: 'form-control' } %>

  <%= form.input :admin_set_id, collection: available_admin_sets if defined?(::Hyrax) %>

  <%= form.hidden_field :user_id, value: current_user.id %>

  <%= form.input :frequency, collection: form.object.class.frequency_enums, input_html: { class: 'form-control' } %>

  <%= form.input :limit, as: :integer, hint: 'leave blank or 0 for all records', input_html: { class: 'form-control'} %>

  <%= form.input :parser_klass, collection: Bulkrax.parsers.map {|p| [p[:name], p[:class_name], {'data-partial' => p[:partial], 'selected' => Bulkrax.parsers.count == 1}]}, label: "Parser", input_html: { class: 'form-control' } %>

  <%= form.fields_for :parser_fields do |fi| %>
    <div class='parser_fields'>
      <p>Specific fields for each parser are available only when a parser is selected</p>
      <% Bulkrax.parsers.map {|p| p[:partial]}.uniq.each do |partial| %>
        <%= render partial: partial, locals: {form: form, fi: fi, importer: importer} %>
      <% end %>
    </div>
  <% end %>

</div>