app/views/admin/results/_form.html.arb
# frozen_string_literal: true
active_admin_form_for [:admin, activity, resource] do |f|
f.semantic_errors(*f.object.errors.attribute_names)
columns do
column do
panel 'Редактирование результата' do
li f.object.athlete&.name || 'Участник не привязан'
li "Parkrun ID: #{f.object.athlete&.parkrun_code || 'не указан'}"
li "5 вёрст ID: #{f.object.athlete&.fiveverst_code || 'не указан'}"
li "Runpark ID: #{f.object.athlete&.runpark_code || 'не указан'}"
li "Забег: #{f.object.activity.event_name}"
li "Дата забега: #{f.object.date}"
end
end
column do
para 'Заполните одно и ТОЛЬКО одно из полей, другое поле очистите.'
f.inputs 'Parkrun, RunPark или 5вёрст ID участника (только цифры, без буквы "A")' do
code = f.object.athlete&.parkrun_code || f.object.athlete&.fiveverst_code || f.object.athlete&.runpark_code
number_field_tag :code,
params[:code].presence || code,
placeholder: 'Штрихкод ID', style: 'width: 10rem; margin-left: 1rem;', inputmode: 'numeric'
end
panel 'Имя участника' do
render partial: '/admin/athlete_fields', locals: { resource: f.object.athlete, form: f }
end
end
end
columns do
column do
para 'Внимание! При изменении здесь времени, место изменено НЕ будет!'
f.inputs 'Результат (Часы:Минуты:Секунды)' do
input :total_time, as: :time_select, include_seconds: true, ignore_date: true, include_blank: false
end
end
column do
para 'Внимание! При изменении здесь номера, время изменено НЕ будет!'
f.inputs do
input :position, required: true, input_html: { inputmode: 'numeric' }
end
end
end
f.actions
end