= form_for site, html: { class: form_class(site) } do |f| .form-group %h2= f.label :name %p.lead= sanitize_markdown t('.help.name'), tags: %w[strong] -# El dominio contiene letras y nĂºmeros No puede empezar ni terminar con guiones No puede estar compuesto solo de nĂºmeros = f.text_field :name, class: form_control(site, :name), required: true, pattern: '^([a-z0-9][a-z0-9\-]*)?[a-z0-9\.]$', minlength: 1, maxlength: 63 - if invalid? site, :name .invalid-feedback= site.errors.messages[:name].join(', ') .form-group %h2= f.label :title %p.lead= t('.help.title') = f.text_field :title, class: form_control(site, :title), required: true - if invalid? site, :title .invalid-feedback= site.errors.messages[:title].join(', ') .form-group %h2= f.label :description %p.lead= t('.help.description') = f.text_area :description, class: form_control(site, :description), maxlength: 160, minlength: 50, required: true - if invalid? site, :description .invalid-feedback= site.errors.messages[:description].join(', ') %hr/ .form-group %h2= t('.design.title') %p.lead= t('.help.design') .row.designs -# Demasiado complejo para un f.collection_radio_buttons - Design.all.find_each do |design| .design.col-md-4.d-flex.flex-column .custom-control.custom-radio = f.radio_button :design_id, design.id, checked: design.id == site.design_id, disabled: design.disabled, required: true, class: 'custom-control-input' = f.label "design_id_#{design.id}", design.name, class: 'custom-control-label' .flex-fill = sanitize_markdown design.description, tags: %w[p a strong em] .btn-group{ role: 'group', 'aria-label': t('.design.actions') } - if design.url = link_to t('.design.url'), design.url, target: '_blank', class: 'btn' - if design.license = link_to t('.design.license'), design.license, target: '_blank', class: 'btn' %hr/ .form-group.licenses %h2= t('.licencia.title') %p.lead= t('.help.licencia') - Licencia.all.find_each do |licencia| .row.license .col .media.mt-1 = image_tag licencia.icons, alt: licencia.name, class: 'mr-3 mt-4' .media-body .custom-control.custom-radio = f.radio_button :licencia_id, licencia.id, checked: licencia.id == site.licencia_id, required: true, class: 'custom-control-input' = f.label "licencia_id_#{licencia.id}", class: 'custom-control-label' do = licencia.name = sanitize_markdown licencia.description, tags: %w[p a strong em ul ol li h1 h2 h3 h4 h5 h6] = link_to t('.licencia.url'), licencia.url, target: '_blank', class: 'btn' %hr/ .form-group %h2= t('.privacidad.title') %p.lead= sanitize_markdown t('.help.privacidad'), tags: %w[a] %hr/ - if site.persisted? .form-group %h2= t('.colaboracion_anonima.title') %p.lead= t('.colaboracion_anonima.help') .custom-control.custom-switch = f.check_box :colaboracion_anonima, class: 'custom-control-input' = f.label :colaboracion_anonima, class: 'custom-control-label' .form-group %h2= t('.deploys.title') %p.lead= t('.help.deploys') = f.fields_for :deploys do |deploy| = render "deploys/#{deploy.object.type.underscore}", deploy: deploy, site: site - else = f.fields_for :deploys do |deploy| - next unless deploy.object.is_a? DeployLocal = deploy.hidden_field :type .form-group = f.submit submit, class: 'btn btn-lg btn-block'