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'