diff --git a/app/graphql/schema.graphql b/app/graphql/schema.graphql index 7558a5f8b..ff098a8a1 100644 --- a/app/graphql/schema.graphql +++ b/app/graphql/schema.graphql @@ -1204,12 +1204,12 @@ enum TypeOrganisme { etablissement_enseignement """ - Opérateur d'État + Opérateur d’État """ operateur_d_etat """ - Service déconcentré de l'État + Service déconcentré de l’État """ service_deconcentre_de_l_etat } diff --git a/app/views/layouts/_coronavirus_banner.html.haml b/app/views/layouts/_coronavirus_banner.html.haml new file mode 100644 index 000000000..2debf8ac7 --- /dev/null +++ b/app/views/layouts/_coronavirus_banner.html.haml @@ -0,0 +1,8 @@ +#strike-banner.site-banner + .container + .site-banner-icon ⚠️ + .site-banner-text + %strong + En raison de l’épidémie du coronavirus, les services fonctionnent en mode dégradé. + %br + Les délais de prise en charge des dossiers ou de réponses aux questions pourront être perturbés durant cette période. diff --git a/app/views/layouts/_new_header.haml b/app/views/layouts/_new_header.haml index e172edf61..034c40bb9 100644 --- a/app/views/layouts/_new_header.haml +++ b/app/views/layouts/_new_header.haml @@ -3,6 +3,14 @@ - dossier = controller.try(:dossier_for_help) - procedure = controller.try(:procedure_for_help) +-# only display the coronavirus to usagers (instructeurs know there are delays) when they are logged in, or on the public pages. +- if user_signed_in? + - if dossier.present? && feature_enabled_for?(:coronavirus_banner, dossier.procedure) + = render partial: 'layouts/coronavirus_banner' +- else + - if procedure.present? && feature_enabled_for?(:coronavirus_banner, procedure) + = render partial: 'layouts/coronavirus_banner' + %header.new-header{ class: current_page?(root_path) ? nil : "new-header-with-border", role: 'banner' } .header-inner-content diff --git a/config/locales/devise.en.yml b/config/locales/devise.en.yml index 26a10f292..9573f3d1b 100644 --- a/config/locales/devise.en.yml +++ b/config/locales/devise.en.yml @@ -27,7 +27,7 @@ en: failure: "Could not authenticate you from %{kind} because \"%{reason}\"." success: "Successfully authenticated from %{kind} account." passwords: - no_token: "You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided." + no_token: "You can’t access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided." send_instructions: "You will receive an email with instructions on how to reset your password in a few minutes." send_paranoid_instructions: "If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes." updated: "Your password has been changed successfully. You are now signed in." diff --git a/config/locales/devise.fr.yml b/config/locales/devise.fr.yml index 73ede86e3..958274540 100755 --- a/config/locales/devise.fr.yml +++ b/config/locales/devise.fr.yml @@ -4,11 +4,11 @@ fr: devise: confirmations: confirmed: "Votre compte a été activé." - send_instructions: "Vous allez recevoir un email avec les instructions nécessaires à l'activation de votre compte dans quelques minutes." - send_paranoid_instructions: "Si votre adresse email existe dans notre base de données, vous allez bientôt recevoir un email contenant les instructions d'activation de votre compte." + send_instructions: "Vous allez recevoir un email avec les instructions nécessaires à l’activation de votre compte dans quelques minutes." + send_paranoid_instructions: "Si votre adresse email existe dans notre base de données, vous allez bientôt recevoir un email contenant les instructions d’activation de votre compte." failure: already_authenticated: "Vous êtes déjà connecté" - inactive: "Votre compte n'est pas encore activé." + inactive: "Votre compte n’est pas encore activé." invalid: "adresse email ou mot de passe incorrect." last_attempt: "Vous avez droit à une tentative avant que votre compte ne soit verrouillé." locked: "Votre compte est verrouillé." @@ -18,7 +18,7 @@ fr: unconfirmed: "Vous devez confirmer votre adresse email pour continuer. Cliquez sur le lien qui vous a été envoyé par email." mailer: confirmation_instructions: - subject: "Instructions d'activation de votre compte" + subject: "Instructions d’activation de votre compte" reset_password_instructions: subject: "Instructions pour changer le mot de passe" unlock_instructions: @@ -28,10 +28,10 @@ fr: password_change: subject: "Votre mot de passe a été modifié avec succés." omniauth_callbacks: - failure: "Nous n'avons pas pu vous authentifier via %{kind} : '%{reason}'." + failure: "Nous n’avons pas pu vous authentifier via %{kind} : '%{reason}'." success: "Authentifié avec succès via %{kind}." passwords: - no_token: "Vous ne pouvez accéder à cette page sans passer par un email de réinitialisation de mot de passe. Si vous êtes passé par un email de ce type, assurez-vous d'utiliser l'URL complète." + no_token: "Vous ne pouvez accéder à cette page sans passer par un email de réinitialisation de mot de passe. Si vous êtes passé par un email de ce type, assurez-vous d’utiliser l’URL complète." send_instructions: "Vous allez recevoir les instructions de réinitialisation du mot de passe dans quelques instants" send_paranoid_instructions: "Si votre adresse email existe dans notre base de données, vous allez recevoir un lien de réinitialisation par email" updated: "Votre mot de passe a été changé avec succès, vous êtes maintenant connecté" @@ -39,9 +39,9 @@ fr: registrations: destroyed: "Votre compte a été supprimé avec succès. Nous espérons vous revoir bientôt." signed_up: "Bienvenue, vous êtes connecté." - signed_up_but_inactive: "Vous êtes bien enregistré. Vous ne pouvez cependant pas vous connecter car votre compte n'est pas encore activé." + signed_up_but_inactive: "Vous êtes bien enregistré. Vous ne pouvez cependant pas vous connecter car votre compte n’est pas encore activé." signed_up_but_locked: "Vous êtes bien enregistré. Vous ne pouvez cependant pas vous connecter car votre compte est verrouillé." - signed_up_but_unconfirmed: "Nous vous avons envoyé un email contenant un lien d'activation. Ouvrez ce lien pour activer votre compte." + signed_up_but_unconfirmed: "Nous vous avons envoyé un email contenant un lien d’activation. Ouvrez ce lien pour activer votre compte." update_needs_confirmation: "Vous devez confirmer votre nouvelle adresse email. Vérifiez vos emails, et cliquez sur le lien de confirmation pour confirmer votre changement d’adresse." updated: "Votre compte a été modifié avec succès." sessions: @@ -56,9 +56,9 @@ fr: messages: already_confirmed: "a déjà été validé(e), veuillez essayer de vous connecter" confirmation_period_expired: "à activer dans les %{period}, merci de faire une nouvelle demande" - expired: "a expiré, merci d'en faire une nouvelle demande" - not_found: "n'a pas été trouvé(e)" - not_locked: "n'était pas verrouillé(e)" + expired: "a expiré, merci d’en faire une nouvelle demande" + not_found: "n’a pas été trouvé(e)" + not_locked: "n’était pas verrouillé(e)" not_saved: - one: "1 erreur a empêché ce(tte) %{resource} d'être sauvegardé(e) :" - other: "%{count} erreurs ont empêché ce(tte) %{resource} d'être sauvegardé(e) :" + one: "1 erreur a empêché ce(tte) %{resource} d’être sauvegardé(e) :" + other: "%{count} erreurs ont empêché ce(tte) %{resource} d’être sauvegardé(e) :" diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 9481bd33e..41bea6663 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -23,7 +23,7 @@ fr: utils: deconnexion: "Déconnexion" involved: "Voir les personnes impliquées" - no-commentaires: "Il n'y a aucun message dans le fil de discussion, n'hésitez pas à initier le premier." + no-commentaires: "Il n’y a aucun message dans le fil de discussion, n’hésitez pas à initier le premier." depositaire: "Dépositaire" pieces: "Pièces jointes" views: @@ -56,16 +56,16 @@ fr: publish: Publier reopen: Réactiver support: - info demarche: J'ai un problème lors du remplissage de mon dossier - info instruction: J'ai une question sur l'instruction de mon dossier - produit: J'ai une idée d'amélioration pour votre site + info demarche: J’ai un problème lors du remplissage de mon dossier + info instruction: J’ai une question sur l’instruction de mon dossier + produit: J’ai une idée d’amélioration pour votre site usager perdu: Je ne trouve pas la démarche que je veux faire autre: Autre sujet supportadmin: admin demande rdv: Demande de RDV pour une présentation à distance de demarches-simplifiees.fr - admin question: J'ai une question sur demarches-simplifiees.fr - admin soucis: J'ai un problème technique avec demarches-simplifiees.fr - admin suggestion produit: J'ai une proposition d'évolution + admin question: J’ai une question sur demarches-simplifiees.fr + admin soucis: J’ai un problème technique avec demarches-simplifiees.fr + admin suggestion produit: J’ai une proposition d’évolution admin demande compte: Je souhaite ouvrir un compte administrateur avec un email Orange, Wanadoo, etc. admin autre: Autre sujet @@ -141,7 +141,7 @@ fr: user: attributes: reset_password_token: - invalid: ": Votre lien de nouveau mot de passe a expiré. Merci d'en demander un nouveau." + invalid: ": Votre lien de nouveau mot de passe a expiré. Merci d’en demander un nouveau." email: invalid: invalide taken: déjà utilisé @@ -165,28 +165,28 @@ fr: path: taken: est déjà utilisé par une démarche. Vous ne pouvez pas l’utiliser car il appartient à un autre administrateur. taken_can_be_claimed: est identique à celui d’une autre de vos démarches publiées. Si vous publiez cette démarche, l’ancienne sera dépubliée et ne sera plus accessible au public. Les utilisateurs qui ont commencé un brouillon vont pouvoir le déposer. - invalid: n'est pas valide. Il doit comporter au moins 3 caractères, au plus 50 caractères et seuls les caractères a-z, 0-9, '_' et '-' sont autorisés. + invalid: n’est pas valide. Il doit comporter au moins 3 caractères, au plus 50 caractères et seuls les caractères a-z, 0-9, '_' et '-' sont autorisés. errors: messages: already_confirmed: "a déjà été validé(e), veuillez essayer de vous connecter" confirmation_period_expired: "à confirmer dans les %{period}, merci de faire une nouvelle demande" - expired: "a expiré, merci d'en faire une nouvelle demande" - not_found: "n'a pas été trouvé(e)" - not_locked: "n'était pas verrouillé(e)" + expired: "a expiré, merci d’en faire une nouvelle demande" + not_found: "n’a pas été trouvé(e)" + not_locked: "n’était pas verrouillé(e)" not_saved: - one: "1 erreur a empêché ce(tte) %{resource} d'être sauvegardé(e) :" - other: "%{count} erreurs ont empêché ce(tte) %{resource} d'être sauvegardé(e) :" - dossier_not_found: "Le dossier n'existe pas ou vous n'y avez pas accès." - dossier_map_not_activated: "Le dossier n'a pas accès à la cartographie." + one: "1 erreur a empêché ce(tte) %{resource} d’être sauvegardé(e) :" + other: "%{count} erreurs ont empêché ce(tte) %{resource} d’être sauvegardé(e) :" + dossier_not_found: "Le dossier n’existe pas ou vous n’y avez pas accès." + dossier_map_not_activated: "Le dossier n’a pas accès à la cartographie." invalid_siret: "Le siret est incorrect" - procedure_not_found: "La démarche n'existe pas" + procedure_not_found: "La démarche n’existe pas" siret_unknown: 'Désolé, nous n’avons pas trouvé d’établissement enregistré correspondant à ce numéro SIRET.' siret_network_error: 'Désolé, la récupération des informations SIRET est temporairement indisponible. Veuillez réessayer dans quelques instants.' etablissement_fail: 'Désolé, nous n’avons pas réussi à enregistrer l’établissement correspondant à ce numéro SIRET' france_connect: connexion: "Erreur lors de la connexion à France Connect." - procedure_archived: "Cette démarche en ligne a été close, il n'est plus possible de déposer de dossier." + procedure_archived: "Cette démarche en ligne a été close, il n’est plus possible de déposer de dossier." procedure_not_draft: "Cette démarche n’est maintenant plus en brouillon." cadastres_empty: one: "Aucune parcelle cadastrale sur la zone sélectionnée" @@ -263,19 +263,19 @@ fr: one: environ un an other: environ %{count} ans almost_x_years: - one: presqu'un an + one: presqu’un an other: presque %{count} ans half_a_minute: une demi-minute less_than_x_minutes: - zero: moins d'une minute - one: moins d'une minute + zero: moins d’une minute + one: moins d’une minute other: moins de %{count} minutes less_than_x_seconds: - zero: moins d'une seconde - one: moins d'une seconde + zero: moins d’une seconde + one: moins d’une seconde other: moins de %{count} secondes over_x_years: - one: plus d'un an + one: plus d’un an other: plus de %{count} ans x_days: one: 1 jour diff --git a/config/locales/models/administrateur/fr.yml b/config/locales/models/administrateur/fr.yml index be8df35cd..f7fbdcbf1 100644 --- a/config/locales/models/administrateur/fr.yml +++ b/config/locales/models/administrateur/fr.yml @@ -12,4 +12,4 @@ fr: password: too_short: 'est trop court' blank: 'doit être rempli' - not_strong: "n'est pas assez complexe" + not_strong: "n’est pas assez complexe" diff --git a/config/locales/models/avis/fr.yml b/config/locales/models/avis/fr.yml index c458dffd9..14ade1b7f 100644 --- a/config/locales/models/avis/fr.yml +++ b/config/locales/models/avis/fr.yml @@ -8,5 +8,5 @@ fr: helpers: label: invite_linked_dossiers: - one: Inviter aussi l'expert sur le dossier lié n° %{ids} - other: Inviter aussi l'expert sur les dossiers liés n° %{ids} + one: Inviter aussi l’expert sur le dossier lié n° %{ids} + other: Inviter aussi l’expert sur les dossiers liés n° %{ids} diff --git a/config/locales/models/deleted_dossier/fr.yml b/config/locales/models/deleted_dossier/fr.yml index 5b4dd95e1..39b290f15 100644 --- a/config/locales/models/deleted_dossier/fr.yml +++ b/config/locales/models/deleted_dossier/fr.yml @@ -5,7 +5,7 @@ fr: reason: user_request: Demande d’usager manager_request: Demande d’administration - user_removed: Suppression d'un compte usager + user_removed: Suppression d’un compte usager expired: Expiration unknown: Inconnue diff --git a/config/locales/models/dossier/fr.yml b/config/locales/models/dossier/fr.yml index 729d6ec12..5ed0cb43d 100644 --- a/config/locales/models/dossier/fr.yml +++ b/config/locales/models/dossier/fr.yml @@ -7,7 +7,7 @@ fr: attributes: dossier: montant_projet: 'Le montant du projet' - montant_aide_demande: "Le montant d'aide demandée" + montant_aide_demande: "Le montant d’aide demandée" date_previsionnelle: "La date de début prévisionnelle" state: brouillon: "Brouillon" diff --git a/config/locales/models/service/fr.yml b/config/locales/models/service/fr.yml index 68e032c8d..c9792d965 100644 --- a/config/locales/models/service/fr.yml +++ b/config/locales/models/service/fr.yml @@ -4,6 +4,6 @@ fr: association: 'Association' collectivite_territoriale: 'Collectivité territoriale' etablissement_enseignement: 'Établissement d’enseignement' - operateur_d_etat: "Opérateur d'État" - service_deconcentre_de_l_etat: "Service déconcentré de l'État" + operateur_d_etat: "Opérateur d’État" + service_deconcentre_de_l_etat: "Service déconcentré de l’État" autre: 'Autre' diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml index 237438334..7f24a9bdc 100644 --- a/config/locales/simple_form.en.yml +++ b/config/locales/simple_form.en.yml @@ -6,7 +6,7 @@ en: text: 'required' mark: '*' # You can uncomment the line below if you need to overwrite the whole required html. - # When using html, text and mark won't be used. + # When using html, text and mark won’t be used. # html: '*' error_notification: default_message: "Please review the problems below:" diff --git a/config/locales/views/dossier_mailer/notify_en_construction_near_deletion_to_administration/fr.yml b/config/locales/views/dossier_mailer/notify_en_construction_near_deletion_to_administration/fr.yml index 43bf63ded..a49026aab 100644 --- a/config/locales/views/dossier_mailer/notify_en_construction_near_deletion_to_administration/fr.yml +++ b/config/locales/views/dossier_mailer/notify_en_construction_near_deletion_to_administration/fr.yml @@ -8,5 +8,5 @@ fr: one: "Le dossier en construction suivant sera bientôt automatiquement supprimé :" other: "Les dossiers en construction suivant seront bientôt automatiquement supprimés :" footer: - one: "Vous avez un mois pour commencer l'instruction du dossier." - other: "Vous avez un mois pour commencer l'instruction des dossiers." + one: "Vous avez un mois pour commencer l’instruction du dossier." + other: "Vous avez un mois pour commencer l’instruction des dossiers." diff --git a/config/locales/views/new_administrateur/groupe_instructeurs/fr.yml b/config/locales/views/new_administrateur/groupe_instructeurs/fr.yml index 12f1f652a..6ac7df602 100644 --- a/config/locales/views/new_administrateur/groupe_instructeurs/fr.yml +++ b/config/locales/views/new_administrateur/groupe_instructeurs/fr.yml @@ -11,7 +11,7 @@ fr: other: "%{count} instructeurs sont affectés" add_instructeur: wrong_address: - one: "%{value} n'est pas une adresse email valide" + one: "%{value} n’est pas une adresse email valide" other: "%{value} ne sont pas des adresses emails valides" assignment: one: "L’instructeur %{value} a été affecté au groupe « %{groupe} »." diff --git a/config/locales/views/shared/fr.yml b/config/locales/views/shared/fr.yml index d832dc33c..b0a636280 100644 --- a/config/locales/views/shared/fr.yml +++ b/config/locales/views/shared/fr.yml @@ -3,4 +3,4 @@ fr: shared: dossiers: identite_entreprise: - warning_for_private_info: "L'établissement %{etablissement} a exercé son droit à la non publication des informations relatives à son identité. Les informations ne seront donc visibles que de la part des services instructeurs" + warning_for_private_info: "L’établissement %{etablissement} a exercé son droit à la non publication des informations relatives à son identité. Les informations ne seront donc visibles que de la part des services instructeurs" diff --git a/spec/mailers/dossier_mailer_spec.rb b/spec/mailers/dossier_mailer_spec.rb index b9016ac3c..afb42fd98 100644 --- a/spec/mailers/dossier_mailer_spec.rb +++ b/spec/mailers/dossier_mailer_spec.rb @@ -138,7 +138,7 @@ RSpec.describe DossierMailer, type: :mailer do it { expect(subject.body).to include("n° #{dossier.id} ") } it { expect(subject.body).to include(dossier.procedure.libelle) } it { expect(subject.body).to include("PDF") } - it { expect(subject.body).to include("Vous avez un mois pour commencer l'instruction du dossier.") } + it { expect(subject.body).to include("Vous avez un mois pour commencer l’instruction du dossier.") } end describe '.notify_en_construction_near_deletion_to_user' do