app/views/jobs/_form.html.erb
<%= fields_for :job, job do |f| %>
<%= hidden_field_tag "job[id]", f.object.id if f.object.id.present? %>
<%= hidden_field_tag "job[generic_type]", @job.generic_type %>
<div class="row">
<div class="col">
<div class="form-group">
<label for="description">Stellenanzeigen-Titel *</label>
<%= f.text_field :title, required: true, class: "form-control" %>
</div>
</div>
</div>
<div class="row">
<div class="col">
<div class="form-group">
<label for="description">Externe ID</label>
<%= f.text_field :external_id, class: "form-control" %>
</div>
</div>
</div>
<div class="row">
<div class="col">
<div class="form-group">
<label for="description">Art der Anstellung *</label>
<% categories = @categories.select { |category| category.tag_list.split(",").include?("generic_item_job") }.map(&:name) %>
<%= select_tag(
"job[payload][employment_type]",
options_for_select(categories, (@job.payload || {})["employmentType"]),
include_blank: true,
class: "form-control",
required: true
) %>
</div>
</div>
</div>
<% list_of_content_blocks = job.content_blocks.presence || [OpenStruct.new] %>
<div class="row">
<div class="col">
<div class="form-group">
<label for="description">Inhalt</label>
<% list_of_content_blocks.each_with_index do |content_block, index| %>
<%= f.fields_for "content_blocks[#{index}]", content_block do |fcb| %>
<%= fcb.text_area :body, class: "form-control html-editor html-editor-text", rows: 10 %>
<% end %>
<% end %>
</div>
</div>
</div>
<hr />
<div class="row">
<div class="col">
<h3 class="d-sm-flex align-items-center justify-content-between my-4">
Dateien
</h3>
</div>
</div>
<%= render partial: "shared/partials/media_contents_form", locals: { record: job, form: f } %>
<hr />
<div class="row">
<div class="col">
<h3 class="d-sm-flex align-items-center justify-content-between my-4">
Firma
</h3>
</div>
</div>
<%= render(
partial: "shared/partials/operating_company_form",
locals: {
record: job,
form: f,
object: job.companies.try(:first)
}
) %>
<hr />
<%= render(
partial: "shared/partials/contacts_form",
locals: {
record: job,
form: f,
sections: [] ,
force_visibility: true
}
) %>
<hr />
<div class="row">
<div class="col">
<h3 class="d-sm-flex align-items-center justify-content-between my-4">
Laufzeit
</h3>
</div>
</div>
<div class="row">
<div class="col-12 col-sm-6">
<div class="form-group">
<label for="description">Veröffentlichungsdatum *</label>
<%= f.date_field(
:publication_date,
required: true,
class: "form-control",
value: f.object.publication_date.try(:to_date) || Time.now.to_date
) %>
</div>
</div>
</div>
<%= render(
partial: "shared/partials/dates_form",
locals: {
record: job,
form: f,
fields: ["date_end"],
requireds: ["date_end"],
labels: {
date_end: "Ablaufdatum"
},
values: {
date_end: (Time.now + 4.weeks).to_date
},
force_visibility: true
}
) %>
<hr />
<div class="row justify-content-center pb-4">
<%= f.submit "Speichern", class: "btn btn-primary btn--big" %>
</div>
<% end %>