-# Display a widget for uploading, editing and deleting a file attachment - attachment = attached_file.attachment - attachment_id = attachment ? attachment.id : SecureRandom.uuid - persisted = attachment && attachment.persisted? - accept = defined?(accept) ? accept : nil - user_can_destroy = defined?(user_can_destroy) ? user_can_destroy : false .attachment - if defined?(template) && template.attached? %p.mb-1 Veuillez télécharger, remplir et joindre = link_to('le modèle suivant', url_for(template), target: '_blank', rel: 'noopener') - if persisted .attachment-actions{ class: "attachment-actions-#{attachment_id}" } .attachment-action = render partial: "shared/attachment/show", locals: { attachment: attachment, user_can_upload: true } - if user_can_destroy .attachment-action = link_to 'Supprimer', attachment_url(attachment.id, { signed_id: attachment.blob.signed_id }), remote: true, method: :delete, class: 'button small danger' .attachment-action = button_tag 'Remplacer', type: 'button', class: 'button small', data: { 'toggle-target': ".attachment-input-#{attachment_id}" } .attachment-error.hidden .attachment-error-message %p.attachment-error-title Une erreur s’est produite pendant l’envoi du fichier. %p.attachment-error-description = button_tag type: 'button', class: 'button attachment-error-retry', data: { 'input-target': ".attachment-input-#{attachment_id}" } do %span.icon.retry Ré-essayer = form.file_field attached_file.name, class: "attachment-input attachment-input-#{attachment_id} #{'hidden' if persisted}", accept: accept, direct_upload: true, data: { 'auto-attach-url': auto_attach_url(form, form.object) }