From 47b177fd31edd01bb2b0d98594e891fbf10531bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chai=CC=88b=20Martinez?= Date: Mon, 4 Nov 2019 15:01:58 +0100 Subject: [PATCH 01/12] RGAA A : L'attribut alt est absent pour le logo des demarches MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Chaïb Martinez --- app/views/shared/_procedure_description.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/shared/_procedure_description.html.haml b/app/views/shared/_procedure_description.html.haml index 52d7b9460..ebdf356ea 100644 --- a/app/views/shared/_procedure_description.html.haml +++ b/app/views/shared/_procedure_description.html.haml @@ -1,5 +1,5 @@ .procedure-logos - = image_tag procedure.logo_url + = image_tag procedure.logo_url, alt: "logo #{procedure.libelle}" - if procedure.euro_flag = image_tag("flag_of_europe.svg", id: 'euro_flag', class: (!procedure.euro_flag ? "hidden" : "")) %h2.procedure-title From a00ce94eeaa9ab37c0830baae007d1a919e7141c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chai=CC=88b=20Martinez?= Date: Mon, 4 Nov 2019 15:31:56 +0100 Subject: [PATCH 02/12] RGAA A : ajout de l'attribut alt pour les images MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Chaïb Martinez --- app/views/layouts/commencer/_no_procedure.html.haml | 2 +- app/views/root/landing.html.haml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/views/layouts/commencer/_no_procedure.html.haml b/app/views/layouts/commencer/_no_procedure.html.haml index 34c054883..15a7c59a6 100644 --- a/app/views/layouts/commencer/_no_procedure.html.haml +++ b/app/views/layouts/commencer/_no_procedure.html.haml @@ -1,5 +1,5 @@ .no-procedure - = image_tag "landing/hero/dematerialiser.svg", class: "paperless-logo" + = image_tag "landing/hero/dematerialiser.svg", class: "paperless-logo", alt: "moins de papier" .baseline.center %h3 Un outil simple %p diff --git a/app/views/root/landing.html.haml b/app/views/root/landing.html.haml index 72bd6b341..3c72e717c 100644 --- a/app/views/root/landing.html.haml +++ b/app/views/root/landing.html.haml @@ -14,13 +14,13 @@ %em.hero-tagline-em en ligne .hero-illustration - %img{ :src => image_url("landing/hero/dematerialiser.svg"), alt: "" } + %img{ :src => image_url("landing/hero/dematerialiser.svg"), alt: "dématérialisez" } .landing-panel.usagers-panel .container .role-panel-wrapper .role-panel-30.role-usagers-image - %img.role-image{ :src => image_url("landing/roles/usagers.svg"), alt: "" } + %img.role-image{ :src => image_url("landing/roles/usagers.svg"), alt: "usager" } .role-panel-70 %h1.role-panel-title Vous souhaitez effectuer une demande auprès d'une administration ? From daeeeda5830587b537dc9ef23842403356b6a5e0 Mon Sep 17 00:00:00 2001 From: simon lehericey Date: Tue, 5 Nov 2019 17:20:01 +0100 Subject: [PATCH 03/12] RGAA: ajout de title aux links --- app/views/root/_footer.html.haml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/views/root/_footer.html.haml b/app/views/root/_footer.html.haml index ac7462fec..7a49639b8 100644 --- a/app/views/root/_footer.html.haml +++ b/app/views/root/_footer.html.haml @@ -6,22 +6,22 @@ %ul.footer-logos %li.footer-text Un service fourni par la - = link_to "DINSIC", "http://www.modernisation.gouv.fr/" + = link_to "DINUM", "http://www.modernisation.gouv.fr/", title: "Direction Interministérielle au Numérique" %br et incubé par - = link_to "beta.gouv.fr", "https://beta.gouv.fr" + = link_to "beta.gouv.fr", "https://beta.gouv.fr", title: "le site de Beta.gouv.fr" %li - = link_to "http://www.modernisation.gouv.fr/" do + = link_to "http://www.modernisation.gouv.fr/", title: "DINUM" do %span.footer-logo.footer-logo-dinsic{ role: 'img', 'aria-label': 'DINSIC' } - = link_to "https://beta.gouv.fr" do + = link_to "https://beta.gouv.fr", title: "le site de Beta.gouv.fr" do %span.footer-logo.footer-logo-beta-gouv-fr{ role: 'img', 'aria-label': 'beta.gouv.fr' } %li.footer-column %ul.footer-links %li.footer-link - = link_to "Newsletter", "https://my.sendinblue.com/users/subscribe/js_id/3s2q1/id/1", :class => "footer-link", :target => "_blank", rel: "noopener" + = link_to "Newsletter", "https://my.sendinblue.com/users/subscribe/js_id/3s2q1/id/1", :title => "Notre newsletter", :class => "footer-link", :target => "_blank", rel: "noopener" %li.footer-link - = link_to "Nouveautés", "https://github.com/betagouv/demarches-simplifiees.fr/releases", :class => "footer-link" + = link_to "Nouveautés", "https://github.com/betagouv/demarches-simplifiees.fr/releases", :class => "footer-link", :title => "Nos nouveautés" %li.footer-link = link_to "Statistiques", stats_path, :class => "footer-link", data: { turbolinks: false } # Turbolinks disabled for Chartkick. See Issue #350 %li.footer-link From 79968f12fbef47e2a33aae9f12f33b3c476339d1 Mon Sep 17 00:00:00 2001 From: simon lehericey Date: Wed, 6 Nov 2019 09:11:55 +0100 Subject: [PATCH 04/12] RGAA A : h4 => span in top dropdown item to respect title hierarchy (9.1.2) --- app/assets/stylesheets/new_design/help_dropdown.scss | 2 +- app/views/shared/help/dropdown_items/_email_item.html.haml | 2 +- app/views/shared/help/dropdown_items/_faq_item.html.haml | 2 +- app/views/shared/help/dropdown_items/_messagerie_item.html.haml | 2 +- app/views/shared/help/dropdown_items/_service_item.html.haml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/assets/stylesheets/new_design/help_dropdown.scss b/app/assets/stylesheets/new_design/help_dropdown.scss index 01d8bd70c..d0f0d66d4 100644 --- a/app/assets/stylesheets/new_design/help_dropdown.scss +++ b/app/assets/stylesheets/new_design/help_dropdown.scss @@ -11,7 +11,7 @@ } } -h4.help-dropdown-title { +.help-dropdown-title { font-size: 16px; color: $blue; } diff --git a/app/views/shared/help/dropdown_items/_email_item.html.haml b/app/views/shared/help/dropdown_items/_email_item.html.haml index e921003e5..d409ab875 100644 --- a/app/views/shared/help/dropdown_items/_email_item.html.haml +++ b/app/views/shared/help/dropdown_items/_email_item.html.haml @@ -2,5 +2,5 @@ = mail_to CONTACT_EMAIL do %span.icon.mail .dropdown-description - %h4.help-dropdown-title Contact technique + %span.help-dropdown-title Contact technique %p Envoyez nous un message à #{CONTACT_EMAIL}. diff --git a/app/views/shared/help/dropdown_items/_faq_item.html.haml b/app/views/shared/help/dropdown_items/_faq_item.html.haml index 86f82348b..fd48bb56d 100644 --- a/app/views/shared/help/dropdown_items/_faq_item.html.haml +++ b/app/views/shared/help/dropdown_items/_faq_item.html.haml @@ -2,5 +2,5 @@ = link_to FAQ_URL, target: "_blank", rel: "noopener" do %span.icon.help .dropdown-description - %h4.help-dropdown-title Un problème avec le site ? + %span.help-dropdown-title Un problème avec le site ? %p Trouvez votre réponse dans l’aide en ligne. diff --git a/app/views/shared/help/dropdown_items/_messagerie_item.html.haml b/app/views/shared/help/dropdown_items/_messagerie_item.html.haml index 2e25a78c8..94d31143d 100644 --- a/app/views/shared/help/dropdown_items/_messagerie_item.html.haml +++ b/app/views/shared/help/dropdown_items/_messagerie_item.html.haml @@ -2,5 +2,5 @@ = link_to messagerie_dossier_path(dossier) do %span.icon.mail .dropdown-description - %h4.help-dropdown-title= title + %span.help-dropdown-title= title %p Envoyez directement un message à l’instructeur. diff --git a/app/views/shared/help/dropdown_items/_service_item.html.haml b/app/views/shared/help/dropdown_items/_service_item.html.haml index af8624549..c57a0bada 100644 --- a/app/views/shared/help/dropdown_items/_service_item.html.haml +++ b/app/views/shared/help/dropdown_items/_service_item.html.haml @@ -1,7 +1,7 @@ %li.help-dropdown-service %span.icon.person .dropdown-description - %h4.help-dropdown-title= title + %span.help-dropdown-title= title .help-dropdown-service-action %p Contactez directement l’administration : %p.help-dropdown-service-item From 8efac29eba57b740b1a96e7d0f64655734b9e087 Mon Sep 17 00:00:00 2001 From: simon lehericey Date: Wed, 6 Nov 2019 14:56:49 +0100 Subject: [PATCH 05/12] Better structure footer-site-links in list it follows service-public.fr structure - remove extraneous footer-link class - remove extraneous space with `>` haml weird stuff - homogenize json-style hash - merge classes on ul - use pseudo element for eye candy --- .../stylesheets/new_design/new_footer.scss | 16 ++++++++++++++++ app/views/users/_general_footer_row.html.haml | 18 +++++++----------- app/views/users/_procedure_footer.html.haml | 4 ++-- .../users/dossiers/_index_footer.html.haml | 3 +-- 4 files changed, 26 insertions(+), 15 deletions(-) diff --git a/app/assets/stylesheets/new_design/new_footer.scss b/app/assets/stylesheets/new_design/new_footer.scss index 092ee442b..7694d8d34 100644 --- a/app/assets/stylesheets/new_design/new_footer.scss +++ b/app/assets/stylesheets/new_design/new_footer.scss @@ -113,3 +113,19 @@ footer { margin-bottom: 0; } } + +.footer-site-links { + li { + display: inline; + + + &::before { + content: "-"; + margin: $default-spacer; + } + + &:first-child::before { + content: none; + } + } +} diff --git a/app/views/users/_general_footer_row.html.haml b/app/views/users/_general_footer_row.html.haml index 8d994718e..987c199e4 100644 --- a/app/views/users/_general_footer_row.html.haml +++ b/app/views/users/_general_footer_row.html.haml @@ -1,11 +1,7 @@ -= link_to "Accessibilité", accessibilite_path, :class => "footer-link" -– -= link_to "CGU", CGU_URL, :class => "footer-link", :target => "_blank", rel: "noopener noreferrer" -– -= link_to "Mentions légales", MENTIONS_LEGALES_URL, :class => "footer-link", :target => "_blank", rel: "noopener noreferrer" -– -= link_to 'Documentation', DOC_URL -– -= contact_link "Contact technique", class: "footer-link", dossier_id: dossier&.id -– -= link_to 'Aide', FAQ_URL +%ul.footer-row.footer-bottom-line.footer-site-links + %li>= link_to "Accessibilité", accessibilite_path + %li>= link_to "CGU", CGU_URL, target: "_blank", rel: "noopener noreferrer" + %li>= link_to "Mentions légales", MENTIONS_LEGALES_URL, target: "_blank", rel: "noopener noreferrer" + %li>= link_to 'Documentation', DOC_URL + %li>= contact_link "Contact technique", dossier_id: dossier&.id + %li>= link_to 'Aide', FAQ_URL diff --git a/app/views/users/_procedure_footer.html.haml b/app/views/users/_procedure_footer.html.haml index 458c6ed00..230319df8 100644 --- a/app/views/users/_procedure_footer.html.haml +++ b/app/views/users/_procedure_footer.html.haml @@ -38,5 +38,5 @@ - politiques.each do |politique| %p= politique - .footer-row.footer-bottom-line - = render partial: 'users/general_footer_row', locals: { dossier: dossier } + = render partial: 'users/general_footer_row', locals: { dossier: dossier } + diff --git a/app/views/users/dossiers/_index_footer.html.haml b/app/views/users/dossiers/_index_footer.html.haml index 935c93bbc..16f9f1273 100644 --- a/app/views/users/dossiers/_index_footer.html.haml +++ b/app/views/users/dossiers/_index_footer.html.haml @@ -1,4 +1,3 @@ %footer.procedure-footer .container - .footer-row.footer-bottom-line - = render partial: "users/general_footer_row", locals: { dossier: nil } + = render partial: "users/general_footer_row", locals: { dossier: nil } From 16814af474bd23943bbeca32887194e6253aeb2f Mon Sep 17 00:00:00 2001 From: simon lehericey Date: Wed, 6 Nov 2019 16:30:20 +0100 Subject: [PATCH 06/12] Make (part of) the html valid again simple_format always wraps its content so the better idea I have got was to use a span to avoid p in p. --- app/helpers/string_to_html_helper.rb | 4 ++-- app/views/users/_procedure_footer.html.haml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/helpers/string_to_html_helper.rb b/app/helpers/string_to_html_helper.rb index 76a595699..1bdb188f0 100644 --- a/app/helpers/string_to_html_helper.rb +++ b/app/helpers/string_to_html_helper.rb @@ -1,6 +1,6 @@ module StringToHtmlHelper - def string_to_html(str) - html_formatted = simple_format(str) + def string_to_html(str, wrapper_tag = 'p') + html_formatted = simple_format(str, {}, { wrapper_tag: wrapper_tag }) with_links = html_formatted.gsub(URI.regexp, '\0') sanitize(with_links, attributes: ['target', 'rel', 'href']) end diff --git a/app/views/users/_procedure_footer.html.haml b/app/views/users/_procedure_footer.html.haml index 230319df8..2a206f23d 100644 --- a/app/views/users/_procedure_footer.html.haml +++ b/app/views/users/_procedure_footer.html.haml @@ -10,7 +10,7 @@ %br = service.organisme %br - = string_to_html(service.adresse) + = string_to_html(service.adresse, wrapper_tag = 'span') %li.footer-column %h3.footer-header Poser une question sur votre dossier : @@ -28,7 +28,7 @@ %p - horaires = "Horaires : #{formatted_horaires(service.horaires)}" - = simple_format(horaires) + = simple_format(horaires, {}, wrapper_tag: 'span') - politiques = politiques_conservation_de_donnees(procedure) From 6ec2b084c71bc365252db56649d77ac3b2e607fc Mon Sep 17 00:00:00 2001 From: simon lehericey Date: Wed, 6 Nov 2019 16:37:03 +0100 Subject: [PATCH 07/12] h3 -> p --- app/views/users/_procedure_footer.html.haml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/views/users/_procedure_footer.html.haml b/app/views/users/_procedure_footer.html.haml index 2a206f23d..9aad1e0fb 100644 --- a/app/views/users/_procedure_footer.html.haml +++ b/app/views/users/_procedure_footer.html.haml @@ -4,7 +4,7 @@ - if service.present? %ul.footer-row.footer-columns %li.footer-column - %h3.footer-header Cette démarche est gérée par : + %p.footer-header Cette démarche est gérée par : %p = service.nom %br @@ -13,7 +13,7 @@ = string_to_html(service.adresse, wrapper_tag = 'span') %li.footer-column - %h3.footer-header Poser une question sur votre dossier : + %p.footer-header Poser une question sur votre dossier : %p - if dossier.present? && dossier.messagerie_available? Directement @@ -34,7 +34,7 @@ - politiques = politiques_conservation_de_donnees(procedure) - if politiques.present? %li.footer-column - %h3.footer-header Conservation des données : + %p.footer-header Conservation des données : - politiques.each do |politique| %p= politique From b6765a03aeb495b3696766db96a2f1cb6b87441a Mon Sep 17 00:00:00 2001 From: simon lehericey Date: Wed, 6 Nov 2019 16:38:52 +0100 Subject: [PATCH 08/12] Footer: remove top list and make each column a list as service-public.fr (note: not so sure because of https://www.service-public.fr/P10025) --- app/views/users/_procedure_footer.html.haml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/app/views/users/_procedure_footer.html.haml b/app/views/users/_procedure_footer.html.haml index 9aad1e0fb..1286ea584 100644 --- a/app/views/users/_procedure_footer.html.haml +++ b/app/views/users/_procedure_footer.html.haml @@ -2,19 +2,19 @@ .container - service = procedure.service - if service.present? - %ul.footer-row.footer-columns - %li.footer-column + .footer-row.footer-columns + %ul.footer-column %p.footer-header Cette démarche est gérée par : - %p + %li = service.nom %br = service.organisme %br = string_to_html(service.adresse, wrapper_tag = 'span') - %li.footer-column + %ul.footer-column %p.footer-header Poser une question sur votre dossier : - %p + %li - if dossier.present? && dossier.messagerie_available? Directement = link_to "par la messagerie", messagerie_dossier_path(dossier) @@ -22,21 +22,21 @@ Par email : = link_to service.email, "mailto:#{service.email}" - %p + %li Par téléphone : %a{ href: "tel:#{service.telephone}" }= service.telephone - %p + %li - horaires = "Horaires : #{formatted_horaires(service.horaires)}" = simple_format(horaires, {}, wrapper_tag: 'span') - politiques = politiques_conservation_de_donnees(procedure) - if politiques.present? - %li.footer-column + %ul.footer-column %p.footer-header Conservation des données : - politiques.each do |politique| - %p= politique + %li= politique = render partial: 'users/general_footer_row', locals: { dossier: dossier } From 9c7feae0b2d911c272f9767eb57bd777ed2af47e Mon Sep 17 00:00:00 2001 From: simon lehericey Date: Wed, 6 Nov 2019 16:58:07 +0100 Subject: [PATCH 09/12] =?UTF-8?q?RGAA=20fix=20:=209.1.2=20Dans=20chaque=20?= =?UTF-8?q?page=20Web,=20la=20hi=C3=A9rarchie=20entre=20les=20titres=20(ba?= =?UTF-8?q?lises=20h=20ou=20balise=20poss=C3=A9dant=20un=20role=20ARIA=20"?= =?UTF-8?q?heading"=20associ=C3=A9=20=C3=A0=20une=20propri=C3=A9t=C3=A9=20?= =?UTF-8?q?aria-level)=20est-elle=20pertinente=20=3F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/assets/stylesheets/new_design/title.scss | 12 ++++++++++++ app/views/commencer/show.html.haml | 8 ++++---- app/views/shared/_procedure_description.html.haml | 2 +- app/views/users/sessions/new.html.haml | 2 +- 4 files changed, 18 insertions(+), 6 deletions(-) create mode 100644 app/assets/stylesheets/new_design/title.scss diff --git a/app/assets/stylesheets/new_design/title.scss b/app/assets/stylesheets/new_design/title.scss new file mode 100644 index 000000000..d02120e2f --- /dev/null +++ b/app/assets/stylesheets/new_design/title.scss @@ -0,0 +1,12 @@ +@import "constants"; + +.huge-title { + text-align: center; + margin-bottom: 20px; + font-size: 35px; + font-weight: bold; + + @media (max-width: $two-columns-breakpoint) { + font-size: 25px; + } +} diff --git a/app/views/commencer/show.html.haml b/app/views/commencer/show.html.haml index ee3564f92..661b2b4d2 100644 --- a/app/views/commencer/show.html.haml +++ b/app/views/commencer/show.html.haml @@ -2,7 +2,7 @@ .commencer.form - if !user_signed_in? - %h1 Commencer la démarche + %h2.huge-title Commencer la démarche = link_to commencer_sign_up_path(path: @procedure.path), class: ['button large expand primary'] do Créer un compte %span.optional-on-small-screens @@ -20,7 +20,7 @@ - elsif drafts.count == 1 && not_drafts.count == 0 - dossier = drafts.first - %h1 Vous avez déjà commencé à remplir un dossier + %h2.huge-title Vous avez déjà commencé à remplir un dossier %p Il y a #{time_ago_in_words(dossier.created_at)}, vous avez commencé à remplir un dossier sur la démarche « #{dossier.procedure.libelle} ». @@ -29,7 +29,7 @@ - elsif not_drafts.count == 1 - dossier = not_drafts.first - %h1 Vous avez déjà déposé un dossier + %h2.huge-title Vous avez déjà déposé un dossier %p Il y a #{time_ago_in_words(dossier.en_construction_at)}, vous avez déposé un dossier sur la démarche « #{dossier.procedure.libelle} ». @@ -37,6 +37,6 @@ = link_to 'Commencer un nouveau dossier', url_for_new_dossier(@procedure), class: ['button large expand'] - else - %h1 Vous avez déjà des dossiers pour cette démarche + %h2.huge-title Vous avez déjà des dossiers pour cette démarche = link_to 'Voir mes dossiers en cours', dossiers_path, class: ['button large expand primary'] = link_to 'Commencer un nouveau dossier', url_for_new_dossier(@procedure), class: ['button large expand'] diff --git a/app/views/shared/_procedure_description.html.haml b/app/views/shared/_procedure_description.html.haml index ebdf356ea..03713ae51 100644 --- a/app/views/shared/_procedure_description.html.haml +++ b/app/views/shared/_procedure_description.html.haml @@ -2,7 +2,7 @@ = image_tag procedure.logo_url, alt: "logo #{procedure.libelle}" - if procedure.euro_flag = image_tag("flag_of_europe.svg", id: 'euro_flag', class: (!procedure.euro_flag ? "hidden" : "")) -%h2.procedure-title +%h1.procedure-title = procedure.libelle .procedure-description .procedure-description-body.read-more-enabled.read-more-collapsed diff --git a/app/views/users/sessions/new.html.haml b/app/views/users/sessions/new.html.haml index e92e681e2..5cdd40be4 100644 --- a/app/views/users/sessions/new.html.haml +++ b/app/views/users/sessions/new.html.haml @@ -3,7 +3,7 @@ .auth-form.sign-in-form = form_for User.new, url: user_session_path, html: { class: "form" } do |f| - %h1 Connectez-vous + %h2.huge-title Connectez-vous = f.label :email, "Email" = f.text_field :email, autofocus: true From 1a1bd306b14cadb3f43c87fbeace31f40e227bca Mon Sep 17 00:00:00 2001 From: simon lehericey Date: Wed, 6 Nov 2019 17:12:57 +0100 Subject: [PATCH 10/12] Add main and headers tags in layout (RGAA 9.2.1) --- app/views/layouts/_new_header.haml | 2 +- app/views/layouts/application.html.haml | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/views/layouts/_new_header.haml b/app/views/layouts/_new_header.haml index 440a01b4a..7eae51026 100644 --- a/app/views/layouts/_new_header.haml +++ b/app/views/layouts/_new_header.haml @@ -3,7 +3,7 @@ - dossier = controller.try(:dossier_for_help) - procedure = controller.try(:procedure_for_help) -.new-header{ class: current_page?(root_path) ? nil : "new-header-with-border" } +%header.new-header{ class: current_page?(root_path) ? nil : "new-header-with-border" } .header-inner-content .flex.align-center diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index 7178d975f..8eb3e4004 100644 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -33,8 +33,9 @@ Env Test = render partial: "layouts/new_header" - = render partial: "layouts/flash_messages" - = content_for?(:content) ? yield(:content) : yield + %main + = render partial: "layouts/flash_messages" + = content_for?(:content) ? yield(:content) : yield - if content_for?(:footer) = content_for(:footer) From 7f76ab66710c61fdc325da34789117a45656d518 Mon Sep 17 00:00:00 2001 From: clemkeirua Date: Thu, 31 Oct 2019 16:31:40 +0100 Subject: [PATCH 11/12] disable retry sending a mail with an invalid email adress --- app/mailers/application_mailer.rb | 4 ++++ spec/mailers/application_mailer_spec.rb | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 spec/mailers/application_mailer_spec.rb diff --git a/app/mailers/application_mailer.rb b/app/mailers/application_mailer.rb index 3504f1a7a..0eb908467 100644 --- a/app/mailers/application_mailer.rb +++ b/app/mailers/application_mailer.rb @@ -3,6 +3,10 @@ class ApplicationMailer < ActionMailer::Base default from: "demarches-simplifiees.fr <#{CONTACT_EMAIL}>" layout 'mailer' + rescue_from Net::SMTPSyntaxError do |_error| + message.perform_deliveries = false + end + # Attach the procedure logo to the email (if any). # Returns the attachment url. def attach_logo(procedure) diff --git a/spec/mailers/application_mailer_spec.rb b/spec/mailers/application_mailer_spec.rb new file mode 100644 index 000000000..9cfa295f9 --- /dev/null +++ b/spec/mailers/application_mailer_spec.rb @@ -0,0 +1,20 @@ +RSpec.describe ApplicationMailer, type: :mailer do + describe 'dealing with invalid emails' do + let(:dossier) { create(:dossier, procedure: build(:simple_procedure)) } + subject { DossierMailer.notify_new_draft(dossier) } + + describe 'invalid emails are not sent' do + before do + allow_any_instance_of(DossierMailer) + .to receive(:notify_new_draft) + .and_raise(Net::SMTPSyntaxError) + end + + it { expect(subject.message).to be_an_instance_of(ActionMailer::Base::NullMail) } + end + + describe 'valid emails are sent' do + it { expect(subject.message).not_to be_an_instance_of(ActionMailer::Base::NullMail) } + end + end +end From 75923f7cb2a4dbe1a0adc339e3070e4020f9cfad Mon Sep 17 00:00:00 2001 From: clemkeirua Date: Thu, 7 Nov 2019 10:13:11 +0100 Subject: [PATCH 12/12] add explanation about rescue_from in application_mailer --- app/mailers/application_mailer.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/mailers/application_mailer.rb b/app/mailers/application_mailer.rb index 0eb908467..b444548f4 100644 --- a/app/mailers/application_mailer.rb +++ b/app/mailers/application_mailer.rb @@ -3,6 +3,7 @@ class ApplicationMailer < ActionMailer::Base default from: "demarches-simplifiees.fr <#{CONTACT_EMAIL}>" layout 'mailer' + # Don’t retry to send a message if the server rejects the recipient address rescue_from Net::SMTPSyntaxError do |_error| message.perform_deliveries = false end