add i18n for publication page

This commit is contained in:
Lisa Durand 2023-07-17 16:27:59 +02:00
parent 1bcaf884c4
commit b86de113bd
9 changed files with 126 additions and 59 deletions

View file

@ -1,38 +1,39 @@
= form_tag admin_procedure_publish_path(procedure_id: procedure.id), method: :put, class: 'form' do
= form_for procedure,
url: admin_procedure_publish_path(procedure_id: procedure.id),
method: :put,
html: { class: 'form' } do |f|
= render Procedure::PublicationWarningComponent.new(procedure: procedure)
.mt-2
- if procedure.draft_changed?
%p.mb-2 Publiez une nouvelle version de votre démarche. Les modifications suivantes seront appliquées :
%p.mb-2= t('.draft_changed_procedure_alert')
= render Dsfr::AlertComponent.new(state: :info, size: :sm, extra_class_names: 'fr-mb-2w') do |c|
- c.body do
= render Procedure::RevisionChangesComponent.new changes: procedure.revision_changes, previous_revision: procedure.published_revision
- if procedure.close?
= render partial: 'publication_form_inputs', locals: { procedure: procedure, closed_procedures: @closed_procedures }
= render partial: 'publication_form_inputs', locals: { procedure: procedure, closed_procedures: @closed_procedures, form: f }
- elsif @procedure.brouillon? && @procedure.missing_steps.empty?
= render partial: 'publication_form_inputs', locals: { procedure: procedure, closed_procedures: @closed_procedures }
= render Dsfr::CalloutComponent.new(title: "Avant de publier", heading_level: 'h2') do |c|
= render partial: 'publication_form_inputs', locals: { procedure: procedure, closed_procedures: @closed_procedures, form: f }
= render Dsfr::CalloutComponent.new(title: t('.dpd_title'), heading_level: 'h2') do |c|
- c.with_body do
%p.fr-mb-2w
Avez-vous bien pensé à informer votre Délégué à la Protection des Données personnelles (DPD).
= t('.dpd_part_1')
%a{ href:'https://www.cnil.fr/fr/protection-des-donnees-les-bons-reflexes', target:'_blank' }
https://www.cnil.fr/fr/protection-des-donnees-les-bons-reflexes
%p.fr-mb-2w
Si votre démarche propose de collecter des données personnelles, vous devez informer votre DPD. Chaque organisme en a un.
= t('.dpd_part_2')
%p.fr-mb-2w
Ce dernier pourra vous aider dans la finalisation de votre démarche, et vous inviter à vous interroger sur les données collectées, et sur la pertinence de ces dernières.
N'oubliez pas : toutes les démarches qui contiennent des données personnelles doivent être consignées dans un registre des traitements :
= t('.dpd_part_3')
%a{ href:'https://www.cnil.fr/fr/RGDP-le-registre-des-activites-de-traitement', target:'_blank' }
https://www.cnil.fr/fr/RGDP-le-registre-des-activites-de-traitement
%p.fr-mb-2w
Comment faire ?
Vous pouvez soit lui communiquer par email le lien vers la démarche en test, ou bien le nommer « administrateur ». Dans tous les cas, ne publiez votre démarche quaprès avoir eu son avis.
= t('.dpd_part_4')
- else
= render partial: 'publication_form_inputs', locals: { procedure: procedure, closed_procedures: @closed_procedures }
= render partial: 'publication_form_inputs', locals: { procedure: procedure, closed_procedures: @closed_procedures, form: f }
.flex.fr-mb-5w
= submit_tag procedure_publish_label(procedure, :submit), { disabled: procedure.errors.present?, class: "fr-btn fr-btn--primary", id: 'publish' }
= link_to 'Annuler et revenir à la page de la démarche', admin_procedure_path(id: @procedure), class: 'fr-btn fr-btn--secondary fr-btn--icon-left fr-icon-arrow-go-back-line fr-ml-1w'
= f.submit t('.submit'), { disabled: procedure.errors.present?, class: "fr-btn fr-btn--primary", id: 'publish' }
= link_to t('.back_to_procedure'), admin_procedure_path(id: @procedure), class: 'fr-btn fr-btn--secondary fr-btn--icon-left fr-icon-arrow-go-back-line fr-ml-1w'

View file

@ -1,21 +1,20 @@
= label_tag :procedure_path, class: 'fr-label' do
Lien de la démarche
%span.fr-hint-text
Renseignez la suite de lURL pour personnaliser le lien public.
.fr-input-group
= form.label :procedure_path, class: 'fr-label' do
= t('activerecord.attributes.procedure.procedure_path')
%span.fr-hint-text
= t('activerecord.attributes.procedure.hints.procedure_path')
.fr-input
.flex
%span.placeholder
= commencer_url(path: '')
= text_field_tag(:path, procedure.path,
id: 'procedure_path',
label: 'Adresse de diffusion',
placeholder: 'chemin-de-la-démarche',
placeholder: t('activerecord.attributes.procedure.procedure_path_placeholder'),
required: true,
class: 'unstyled flex-1',
pattern: '^[a-z0-9_-]{3,200}$',
title: "De 3 à 200 caractères; minuscules, chiffres et tiret seulement",
autocomplete: 'off')
-# %span{ data: { controller: 'clipboard', clipboard_text_value: '' } }
-# %button.fr-btn.fr-icon-clipboard-line.fr-btn--sm.fr-btn--secondary.fr-btn--icon-left{ data: { action: 'clipboard#copy' }, title: 'Copier le lien public' }
@ -25,24 +24,17 @@
= render Dsfr::AlertComponent.new(state: :info, size: :sm, extra_class_names: 'fr-mb-2w') do |c|
- c.body do
Attention, diffusez toujours le lien complet affiché ci-dessus ( en cliquant sur le bouton « Copier le lien public »), et non pas un lien générique vers #{APPLICATION_NAME}.
= t('activerecord.attributes.procedure.procedure_path_alert', link: APPLICATION_NAME)
.fr-input-group
= label_tag :procedure_path, class: 'fr-label' do
Où les usagers trouveront-ils le lien de la démarche ?
%span.fr-hint-text
Il s'agit de la page de votre site web où le lien sera diffusé
= render Dsfr::InputComponent.new(form: form, attribute: :lien_site_web, input_type: :text_field, opts: {placeholder: t('activerecord.attributes.procedure.lien_site_web_placeholder')})
= text_field_tag(:lien_site_web, procedure.lien_site_web,
required: true,
class: 'fr-input',
autocomplete: 'off',
placeholder: 'https://exemple.gouv.fr/page_informant_sur_ma_demarche')
- if closed_procedures.present?
.fr-select-group
= label_tag :procedure_path, class: 'fr-label' do
Numéro de la démarche remplacée (facultatif)
= form.label :old_procedure, class: 'fr-label' do
= t('activerecord.attributes.procedure.old_procedure')
= t('utils.no_mandatory')
%span.fr-hint-text
Cette démarche remplace une close ? Si oui, veuillez indiquer le n° de la démarche remplacée
= t('activerecord.attributes.procedure.hints.old_procedure')
= select_tag :old_procedure, options_for_select(@closed_procedures), include_blank: true, class: 'fr-select'

View file

@ -11,7 +11,7 @@
html: { class: 'form procedure_tags_combo', multipart: true } do |f|
.fr-container
.fr-grid-row
.fr-col-12.fr-col-offset-sm-2.fr-col-sm-8
.fr-col-12.fr-col-offset-md-2.fr-col-md-8
%h1.fr-h2 Description
= render partial: 'administrateurs/procedures/informations', locals: { f: f }
@ -19,6 +19,6 @@
.sticky-action-footer
.fr-container
.fr-grid-row
.fr-col-12.fr-col-offset-sm-2.fr-col-sm-8
.fr-col-12.fr-col-offset-md-2.fr-col-md-8
= f.button 'Enregistrer', class: 'fr-btn fr-mr-2w'
= link_to 'Annuler', admin_procedure_path(id: @procedure), class: 'fr-btn fr-btn--secondary', data: { confirm: 'Êtes-vous sûr de vouloir annuler les modifications effectuées ?'}

View file

@ -10,7 +10,7 @@
html: { class: 'form procedure_tags_combo', multipart: true } do |f|
.fr-container
.fr-grid-row
.fr-col-12.fr-col-offset-sm-2.fr-col-sm-8
.fr-col-12.fr-col-offset-md-2.fr-col-md-8
%h1.fr-h2 Nouvelle démarche
= render partial: 'administrateurs/procedures/informations', locals: { f: f }
@ -18,6 +18,6 @@
.sticky-action-footer
.fr-container
.fr-grid-row
.fr-col-12.fr-col-offset-sm-2.fr-col-sm-8
.fr-col-12.fr-col-offset-md-2.fr-col-md-8
= f.button 'Créer la démarche', class: 'fr-btn fr-mr-2w'
= link_to 'Annuler', admin_procedures_path, class: 'fr-btn fr-btn--secondary', data: { confirm: 'Êtes-vous sûr de vouloir annuler la création de cette démarche ?'}

View file

@ -5,40 +5,40 @@
['Publier']] }
.fr-container
.fr-grid-row
.fr-col-12.fr-col-offset-sm-2.fr-col-sm-8
.fr-col-12.fr-col-offset-md-2.fr-col-md-8
- if @procedure.draft_revision.types_de_champ_public.dubious.present?
= render Dsfr::AlertComponent.new(state: :warning, title: "Attention, certains champs ne peuvent être demandés par ladministration. Voici les champs qui nous semblent suspects :", extra_class_names: 'fr-mb-2w') do |c|
= render Dsfr::AlertComponent.new(state: :warning, title: t('.dubious_fields'), extra_class_names: 'fr-mb-2w') do |c|
- c.body do
%ul
- @procedure.draft_revision.types_de_champ_public.dubious.each do |dubious_champs|
%li.dubious-champs= "#{dubious_champs.libelle} (#{dubious_champs.description})"
.lien-demarche
%h1
Publier votre démarche
= t('.publish_title')
%div{ style: 'margin-top: 30px;' }
- if @procedure.close? || @procedure.depubliee?
%p.mb-4 Cette démarche est <strong>close</strong> et nest donc plus accessible par le public. Vous pouvez la réactiver :
%p.mb-4= t('.closed_procedure_html')
= render partial: 'publication_form', locals: { procedure: @procedure, administrateur: @current_administrateur }
- elsif @procedure.draft_changed?
%p.mb-4 Cette démarche est déjà <strong>publiée</strong>. Elle a été <strong>modifiée</strong> depuis sa publication. Vous pouvez publier les changements effectués dans une nouvelle version de cette démarche :
%p.mb-4= t('.draft_changed_procedure_html')
= render partial: 'publication_form', locals: { procedure: @procedure, administrateur: @current_administrateur }
- elsif @procedure.publiee?
%p Cette démarche est <strong>publiée</strong>, certains éléments ne peuvent plus être modifiés.
Pour y accéder vous pouvez utiliser le lien :
%p= t('.published_procedure_html')
= link_to commencer_url(@procedure.path), commencer_url(@procedure.path), target: :blank, rel: :noopener, class: "mb-4"
= render Dsfr::AlertComponent.new(state: :info, size: :sm, extra_class_names: 'fr-my-2w') do |c|
- c.body do
%p Attention, diffusez toujours le <strong>lien complet</strong> affiché ci-dessus, et non pas un lien générique vers #{APPLICATION_NAME}. Ne dites pas non plus aux usagers de se rendre sur le site générique #{APPLICATION_NAME}, donnez-leur toujours le lien complet.
%p= t('.public_link_procedure_html', link: APPLICATION_NAME)
- elsif @procedure.brouillon?
- if @procedure.missing_steps.empty?
= render partial: 'publication_form', locals: { procedure: @procedure, administrateur: @current_administrateur }
- else
= render Dsfr::AlertComponent.new(state: :warning, title: "informations manquantes", heading_level: :h2) do |c|
= render Dsfr::AlertComponent.new(state: :warning, title: t('.missing_information_title'), heading_level: :h2) do |c|
- c.body do
%p Pour pouvoir tester cette démarche, vous devez dabord lui affecter :
%p= t('.missing_information_content')
%ul
- if @procedure.missing_zones?
%li= link_to("une ou plusieurs zones", zones_admin_procedure_path(id: @procedure.id))
@ -46,25 +46,25 @@
%li= link_to("des instructeurs", admin_procedure_groupe_instructeur_path(@procedure, @procedure.defaut_groupe_instructeur))
- if @procedure.service.nil?
%li= link_to("un service", admin_services_path(procedure_id: @procedure))
= link_to 'Revenir à la page de la démarche', admin_procedure_path(id: @procedure), class: 'fr-btn fr-btn--secondary fr-btn--icon-left fr-icon-arrow-go-back-line fr-mt-2w'
= link_to t('.back_to_procedure'), admin_procedure_path(id: @procedure), class: 'fr-btn fr-btn--secondary fr-btn--icon-left fr-icon-arrow-go-back-line fr-mt-2w'
- else
- if @procedure.missing_steps.include?(:service)
= render Dsfr::AlertComponent.new(state: :warning, size: :sm, extra_class_names: 'fr-my-2w') do |c|
- c.body do
%p
Vous devez renseigner les coordonnées de votre Service administratif avant de pouvoir publier votre démarche.
= link_to 'Cliquez ici.', (@current_administrateur.services.present? ? url_for(admin_services_path(procedure_id: @procedure.id)) : url_for(new_admin_service_path(procedure_id: @procedure.id)))
= t('.missing_information_service')
= link_to t('.click_here'), (@current_administrateur.services.present? ? url_for(admin_services_path(procedure_id: @procedure.id)) : url_for(new_admin_service_path(procedure_id: @procedure.id)))
- if @procedure.missing_steps.include?(:instructeurs)
= render Dsfr::AlertComponent.new(state: :warning, size: :sm, extra_class_names: 'fr-my-2w') do |c|
- c.body do
%p
Vous devez affecter des instructeurs avant de pouvoir publier votre démarche.
= link_to 'Cliquez ici.', admin_procedure_groupe_instructeur_path(@procedure, @procedure.defaut_groupe_instructeur)
= t('.missing_information_instructeurs')
= link_to t('.click_here'), admin_procedure_groupe_instructeur_path(@procedure, @procedure.defaut_groupe_instructeur)
= render Dsfr::AlertComponent.new(state: :warning, size: :sm, extra_class_names: 'fr-my-2w') do |c|
- c.body do
%p
Cette démarche na pas encore de lien, et nest pas accessible par le public.
= t('.missing_link')
= link_to 'Revenir à la page de la démarche', admin_procedure_path(id: @procedure), class: 'fr-btn fr-btn--secondary fr-btn--icon-left fr-icon-arrow-go-back-line fr-mt-2w'
= link_to t('.back_to_procedure'), admin_procedure_path(id: @procedure), class: 'fr-btn fr-btn--secondary fr-btn--icon-left fr-icon-arrow-go-back-line fr-mt-2w'

View file

@ -10,8 +10,10 @@ en:
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.
description_pj: Describe the required attachments list if there is any
lien_site_web: "Exemple: 'https://exemple.gouv.fr/ma_demarche'"
lien_site_web: "This is the page of your website where the link will appear"
cadre_juridique: "Exemple: 'https://www.legifrance.gouv.fr/'"
old_procedure: This procedure replaces a close? If yes, please indicate the number of the replaced procedure
procedure_path: "Complete the rest of the URL to personalize the public link. From 3 to 200 characters: lowercase letters, numbers and dashes only"
path: Public link
organisation: Service
description: What is the purpose of this procedure?
@ -19,6 +21,11 @@ en:
description_pj: Required attachments list
description_pj_placeholder: If you leave this field blank and your form contains attachments, an automatically generated list will be displayed on the home page of your procedure.
lien_site_web: Where will users find the link to the procedure?
lien_site_web_placeholder: https://exemple.gouv.fr/page_about_my_procedure
old_procedure: Replaced procedure number
procedure_path: Procedure link
procedure_path_placeholder: procedure-name
procedure_path_alert: Please note, always post the full link displayed above (by clicking the "Copy Public Link" button), not a generic link to %{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

View file

@ -10,8 +10,10 @@ fr:
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.
description_pj: Décrivez la liste des pièces jointes à fournir sil y en a
lien_site_web: "Exemple: 'https://exemple.gouv.fr/ma_demarche'"
lien_site_web: "Il s'agit de la page de votre site web où le lien sera diffusé"
cadre_juridique: "Exemple: 'https://www.legifrance.gouv.fr/'"
old_procedure: Cette démarche remplace une close ? Si oui, veuillez indiquer le n° de la démarche remplacée
procedure_path: "Renseignez la suite de lURL pour personnaliser le lien public. De 3 à 200 caractères : minuscules, chiffres et tiret seulement"
path: Lien public
organisation: Organisme
duree_conservation_dossiers_dans_ds: Durée de conservation des dossiers sur demarches-simplifiees.fr (choisi par un usager)
@ -23,6 +25,11 @@ fr:
description_pj: Liste des pièces jointes demandées
description_pj_placeholder: Si vous ne renseignez pas ce champ et que votre formulaire contient des pièces jointes, une liste générée automatiquement s'affichera dans la page d'accueil de votre démarche.
lien_site_web: Où les usagers trouveront-ils le lien vers la démarche ?
lien_site_web_placeholder: https://exemple.gouv.fr/page_informant_sur_ma_demarche
old_procedure: Numéro de la démarche remplacée
procedure_path: Lien de la démarche
procedure_path_placeholder: nom-de-la-demarche
procedure_path_alert: Attention, diffusez toujours le lien complet affiché ci-dessus ( en cliquant sur le bouton « Copier le lien public »), et non pas un lien générique vers %{link}.
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'

View file

@ -6,3 +6,40 @@ en:
actions:
close_procedure: Close the procedure
preview_unavailable: Preview is unavailable due to procedure misconfiguration
modifications:
dossiers_en_construction_and_dossiers_en_instruction: "%{en_construction_count} files « in construction » and %{en_instruction_count} files « instructing » on this procedure version."
dossier_en_construction_and_dossiers_en_instruction:
one: One file « in construction » and one file « instructing » on this procedure version.
other: One file « in construction » and %{count} files « instructing » on this procedure version.
dossier_en_instruction_and_dossiers_en_construction:
one: One file « instructing » and one file « in construction » on this procedure version.
other: One file « instructing » and %{count} files « in construction » on this procedure version.
dossiers_en_construction:
one: One file « in construction » on this procedure version.
other: "%{count} files « in construction » on this procedure version."
dossiers_en_instruction:
one: One file « instructing » on this procedure version.
other: "%{count} files « instructing » on this procedure version."
publication:
publish_title: Publish your procedure
closed_procedure_html: "This procedure is <strong>closed</strong> and is therefore no longer accessible to the public. You can publish it back"
draft_changed_procedure_html: "This procedure is already <strong>published</strong>. It has been <strong>edited</strong> since publication. You can publish the changes made in a new version."
published_procedure_html: "This procedure is <strong>published</strong>, some elements can no longer be modified. To access it you can use the link:"
public_link_procedure_html: "Be careful, always post the <strong>full link</strong> displayed above, and not a generic link to %{link}"
missing_information_title: missing information
missing_information_content: "To be able to test this procedure, you must first assign it:"
missing_information_service: You must provide the contact details of your Administrative Department before you can publish your procedure.
missing_information_instructeurs: You must assign instructors before you can publish your procedure.
missing_link: This procedure does not yet have a link, and is not accessible to the public.
dubious_fields: "Please note that some fields cannot be requested by the administration. Here are the fields that look suspicious to us:"
click_here: Click here
back_to_procedure: Return to the procedure page
publication_form:
draft_changed_procedure_alert: "Publish a new version of your procedure. The following changes will be applied:"
dpd_title: Before publishing
dpd_part_1: Have you thought about informing your Personal Data Protection Officer (DPO).
dpd_part_2: If your procedure proposes to collect personal data, you must inform your DPO. Every organization has one.
dpd_part_3: "The DPO will be able to help you in finalizing your approach, and invite you to question yourself on the data collected, and on the relevance of these. Remember: all procedures that contain personal data must be recorded in a processing register:"
dpd_part_4: How to do ? You can either send him the link to the procedure on test stage by email, or name him "administrator". In any case, publish your approach only after having had his opinion.
back_to_procedure: 'Cancel and return to the procedure page'
submit: Publish

View file

@ -20,3 +20,26 @@ fr:
dossiers_en_instruction:
one: Il y a un dossier « en instruction » sur cette version de la démarche.
other: Il y a %{count} dossiers « en instruction » sur cette version de la démarche.
publication:
publish_title: Publier votre démarche
closed_procedure_html: "Cette démarche est <strong>close</strong> et nest donc plus accessible par le public. Vous pouvez la réactiver :"
draft_changed_procedure_html: "Cette démarche est déjà <strong>publiée</strong>. Elle a été <strong>modifiée</strong> depuis sa publication. Vous pouvez publier les changements effectués dans une nouvelle version de cette démarche :"
published_procedure_html: "Cette démarche est <strong>publiée</strong>, certains éléments ne peuvent plus être modifiés. Pour y accéder vous pouvez utiliser le lien :"
public_link_procedure_html: "Attention, diffusez toujours le <strong>lien complet</strong> affiché ci-dessus, et non pas un lien générique vers %{link}"
missing_information_title: informations manquantes
missing_information_content: "Pour pouvoir tester cette démarche, vous devez dabord lui affecter :"
missing_information_service: Vous devez renseigner les coordonnées de votre Service administratif avant de pouvoir publier votre démarche.
missing_information_instructeurs: Vous devez affecter des instructeurs avant de pouvoir publier votre démarche.
missing_link: Cette démarche na pas encore de lien, et nest pas accessible par le public.
dubious_fields: "Attention, certains champs ne peuvent être demandés par ladministration. Voici les champs qui nous semblent suspects :"
click_here: Cliquez ici.
back_to_procedure: Revenir à la page de la démarche
publication_form:
draft_changed_procedure_alert: "Publiez une nouvelle version de votre démarche. Les modifications suivantes seront appliquées :"
dpd_title: Avant de publier
dpd_part_1: Avez-vous bien pensé à informer votre Délégué à la Protection des Données personnelles (DPD).
dpd_part_2: Si votre démarche propose de collecter des données personnelles, vous devez informer votre DPD. Chaque organisme en a un.
dpd_part_3: "Ce dernier pourra vous aider dans la finalisation de votre démarche, et vous inviter à vous interroger sur les données collectées, et sur la pertinence de ces dernières. N'oubliez pas : toutes les démarches qui contiennent des données personnelles doivent être consignées dans un registre des traitements :"
dpd_part_4: Comment faire ? Vous pouvez soit lui communiquer par email le lien vers la démarche en test, ou bien le nommer « administrateur ». Dans tous les cas, ne publiez votre démarche quaprès avoir eu son avis.
back_to_procedure: 'Annuler et revenir à la page de la démarche'
submit: Publier