32 lines
1.4 KiB
Plaintext
32 lines
1.4 KiB
Plaintext
= form_for(@proxy_exercise, multipart: true, builder: PagedownFormBuilder) do |f|
|
|
= render('shared/form_errors', object: @proxy_exercise)
|
|
.mb-3
|
|
= f.label(:title, class: 'form-label')
|
|
= f.text_field(:title, class: 'form-control', required: true)
|
|
.mb-3
|
|
= f.label(:description, class: 'form-label')
|
|
= f.pagedown :description, input_html: {preview: true, rows: 10}
|
|
.mb-3
|
|
= f.label(:algorithm, class: 'form-label')
|
|
= f.collection_select(:algorithm, ProxyExercise.algorithms.map {|algorithm, _id| [t("activerecord.attributes.proxy_exercise.algorithm_type.#{algorithm}"), algorithm] }, :second, :first, {}, class: 'form-control form-control-sm')
|
|
.form-check.mb-3
|
|
label.form-check-label
|
|
= f.check_box(:public, class: 'form-check-input')
|
|
= t('activerecord.attributes.exercise.public')
|
|
|
|
h3 Exercises
|
|
.table-responsive
|
|
table.table
|
|
thead
|
|
tr
|
|
th = t('activerecord.attributes.exercise.selection')
|
|
th = sort_link(@search, :title, t('activerecord.attributes.submission.exercise'))
|
|
th = sort_link(@search, :created_at, t('shared.created_at'))
|
|
= collection_check_boxes :proxy_exercise, :exercise_ids, @exercises, :id, :title do |b|
|
|
tr
|
|
td = b.check_box class: 'form-check-input'
|
|
td = link_to_if(policy(b.object).show?, b.object, b.object)
|
|
td = l(b.object.created_at, format: :short)
|
|
|
|
.actions = render('shared/submit_button', f:, object: @proxy_exercise)
|