use DSFR input components for form

This commit is contained in:
Lisa Durand 2023-05-24 17:44:15 +02:00
parent 6fa44a4c11
commit 1c409f0145
4 changed files with 29 additions and 26 deletions

View file

@ -4,8 +4,8 @@
= label
- if @required
%span.mandatory  *
- if hint?
%span.fr-hint-text= hint
- if hint?
%span.fr-hint-text= hint
= @form.public_send(@input_type, @attribute, input_opts)

View file

@ -2,24 +2,12 @@
.card.warning
.card-title Cette démarche est publiée.
Certains éléments de la description ne sont plus modifiables.
.fr-input-group
= f.label :libelle, class: 'fr-label' do
Titre de la démarche
%span.mandatory *
= f.text_field :libelle, class: 'fr-input', required: true
.fr-input-group
= f.label :description, class: 'fr-label' do
Quel est lobjet de la démarche ?
%span.mandatory *
%span.fr-hint-text Décrivez en quelques lignes le contexte, la finalité etc.
= f.text_area :description, rows: '6', class: 'fr-input', required: true
= render Dsfr::InputComponent.new(form: f, attribute: :libelle, input_type: :text_field, opts: {})
.fr-input-group
= f.label :description_target_audience, class: 'fr-label' do
À qui sadresse la démarche ?
%span.fr-hint-text Décrivez en quelques lignes les destinataires finaux de la démarche, les critères déligibilité sil y en a, les pré-requis, etc.
= f.text_area :description_target_audience, rows: '6', class: 'fr-input'
= render Dsfr::InputComponent.new(form: f, attribute: :description, input_type: :text_area, opts: {})
= render Dsfr::InputComponent.new(form: f, attribute: :description_target_audience, input_type: :text_area, opts: {}, required: false)
%h3.header-subsection Logo de la démarche
= render Attachment::EditComponent.new(attached_file: @procedure.logo, view_as: :link)
@ -36,9 +24,7 @@
= f.number_field :duree_conservation_dossiers_dans_ds, { class: 'fr-input', placeholder: '6', required: true, max: f.object.max_duree_conservation_dossiers_dans_ds }
- if @procedure.created_at.present?
= f.label :lien_site_web, class: 'fr-label' do
Où les usagers trouveront-ils le lien vers la démarche ?
= f.text_field :lien_site_web, class: 'fr-input', placeholder: 'https://exemple.gouv.fr/ma_demarche'
= render Dsfr::InputComponent.new(form: f, attribute: :lien_site_web, input_type: :text_field, opts: {}, required: false)
%h3.header-subsection
Cadre juridique
@ -56,8 +42,7 @@
%p.notice
Vous pouvez saisir un lien web vers ce texte, ou limporter depuis un fichier.
= f.label :cadre_juridique, 'Lien vers le texte', class: 'fr-label'
= f.text_field :cadre_juridique, class: 'fr-input', placeholder: 'https://www.legifrance.gouv.fr/'
= render Dsfr::InputComponent.new(form: f, attribute: :cadre_juridique, input_type: :text_field, opts: {})
= f.label :deliberation, 'Importer le texte', class: 'fr-label'
= render Attachment::EditComponent.new(attached_file: @procedure.deliberation, view_as: :download)
@ -67,8 +52,7 @@
%p.notice
Pour certaines démarches, veuillez indiquer soit le mail de contact de votre délégué à la protection des données, soit un lien web pointant vers les informations
= f.label :lien_dpo, 'Lien ou email pour contacter le Délégué à la Protection des Données (DPO)', class: 'fr-label'
= f.text_field :lien_dpo, class: 'fr-input'
= render Dsfr::InputComponent.new(form: f, attribute: :lien_dpo, input_type: :text_field, opts: {}, required: false)
- if Rails.application.config.ds_opendata_enabled
%h3.header-subsection= t(:opendata_header, scope: [:administrateurs, :informations])

View file

@ -6,9 +6,18 @@ en:
other: Procedure
attributes:
procedure:
hints:
description: Describe in a few lines the context, the aim etc.
description_target_audience: Describe in a few lines the final recipients of the process, the eligibility criteria if there are any, the prerequisites, etc.
lien_site_web: "Exemple: 'https://exemple.gouv.fr/ma_demarche'"
cadre_juridique: "Exemple: 'https://www.legifrance.gouv.fr/'"
path: Public link
organisation: Service
description_target_audience: For who
description: Procedure subject
description_target_audience: For who is the procedure ?
lien_site_web: Where to find the procedure link ?
cadre_juridique: Link to the legal text
lien_dpo: Link or email to contact the data protection officer (DPO)
duree_conservation_dossiers_dans_ds: Duration files will be kept
max_duree_conservation_dossiers_dans_ds: Max duration allowed to keep files
aasm_state:

View file

@ -6,6 +6,11 @@ fr:
other: Démarches
attributes:
procedure:
hints:
description: Décrivez en quelques lignes le contexte, la finalité etc.
description_target_audience: Décrivez en quelques lignes les destinataires finaux de la démarche, les critères déligibilité sil y en a, les pré-requis, etc.
lien_site_web: "Exemple: 'https://exemple.gouv.fr/ma_demarche'"
cadre_juridique: "Exemple: 'https://www.legifrance.gouv.fr/'"
path: Lien public
organisation: Organisme
description_target_audience: À qui sadresse la démarche
@ -13,6 +18,11 @@ fr:
max_duree_conservation_dossiers_dans_ds: Durée de conservation des dossiers maximum (autorisé par un super admin de DS)
id: Id
libelle: Titre de la démarche
description: Quel est lobjet de la démarche ?
description_target_audience: À qui sadresse la démarche ?
lien_site_web: Où les usagers trouveront-ils le lien vers la démarche ?
cadre_juridique: Lien vers le texte
lien_dpo: Lien ou email pour contacter le Délégué à la Protection des Données (DPO)
published_at: 'Date de publication'
aasm_state: 'Statut'
admin_count: 'Nb administrateurs'