app/views/collections/_form.html.erb

Summary

Maintainability
Test Coverage
<%-
# TODO: Change Concept.labeling_classes to Collection.labeling_classes (in model
# too). If those two settings differ (e.g. in spez) don't forget to add
# migrations to update existing data.
-%>

<%= bootstrap_form_for collection, :as => :concept, :url => collection.new_record? ? collections_path : collection_path(collection, :published => 0), :layout => :horizontal, :label_col => 'col-sm-3', :control_col => 'col-sm-9' do |f| %>
<fieldset>
  <legend><%= t 'txt.views.layouts.sections.labels' %></legend>
  <% if not Iqvoc.const_defined?(:SKOSXL) %>
    <p><%= t 'txt.common.hint_csv_input' %></p>
  <% end %>
    <%- Iqvoc::Concept.labeling_classes.each do |labeling_class, languages| -%>
      <%- languages.each do |language| -%>
        <%= render labeling_class.edit_partial_name(@collection), :f => f,
          :concept => @collection, :klass => labeling_class, :language => language %>
      <%- end -%>
    <%- end -%>
</fieldset>

<% Iqvoc::Collection.note_classes.each do |klass| %>
  <%= render klass.edit_partial_name(@collection), :owner_klass => @collection, :assoc_klass => klass, :f => f %>
<% end %>

<fieldset>
  <legend><%= Iqvoc::Concept.base_class.model_name.human(:count => 2) %></legend>
  <%= f.form_group :inline_member_concept_origins, :label => {:text => t('txt.common.type_to_search')} do %>
    <%= text_field_tag "concept[inline_member_concept_origins]", @collection.inline_member_concept_origins.join(InlineDataHelper::JOINER),
      :class => "entity_select",
      :"data-query-url" => concepts_path(:format => :json),
      :"data-entity-uri" => concept_path(:id => "{id}"),
      :"data-entities" => @collection.inline_member_concepts.
      map { |c| concept_widget_data(c) }.to_json %>
  <% end %>
</fieldset>

<fieldset>
  <legend><%= Iqvoc::Collection.base_class.model_name.human(:count => 2) %></legend>
  <%= f.form_group :inline_member_concept_origins, :label => {:text => t('txt.common.type_to_search')} do %>
    <%= text_field_tag "concept[inline_member_collection_origins]", @collection.inline_member_collection_origins.join(InlineDataHelper::JOINER),
      :class => "entity_select",
      :"data-query-url" => collections_path(:format => :json),
      :"data-entity-uri" => collection_path(:id => "{id}"),
      :"data-exclude" => @collection.origin,
      :"data-entities" => @collection.inline_member_collections.
      map { |c| collection_widget_data(c) }.to_json %>
  <% end %>
</fieldset>

<hr />
<div class="mb-5">
  <%= f.submit t("txt.common.save"), :class => "btn btn-primary" %>
  <%= link_to t("txt.common.cancel"), collection.new_record? ? dashboard_path : collection_path(collection, :published => 0), :class => "btn btn-outline-secondary" %>
</div>

<% end %>