From 5bafda661951fa027970e3002c94000badf0f468 Mon Sep 17 00:00:00 2001 From: Pierre de La Morinerie Date: Wed, 17 Jul 2019 14:24:48 +0200 Subject: [PATCH 1/6] factories: fix unmatching MIME type in fixtures --- spec/factories/commentaire.rb | 2 +- spec/factories/procedure.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/factories/commentaire.rb b/spec/factories/commentaire.rb index dc092a50d..360a4b05e 100644 --- a/spec/factories/commentaire.rb +++ b/spec/factories/commentaire.rb @@ -9,7 +9,7 @@ FactoryBot.define do end trait :with_file do - file { Rack::Test::UploadedFile.new("./spec/fixtures/files/logo_test_procedure.png", 'application/pdf') } + file { Rack::Test::UploadedFile.new("./spec/fixtures/files/logo_test_procedure.png", 'image/png') } end end end diff --git a/spec/factories/procedure.rb b/spec/factories/procedure.rb index 8c62169b3..2e5bd901d 100644 --- a/spec/factories/procedure.rb +++ b/spec/factories/procedure.rb @@ -42,7 +42,7 @@ FactoryBot.define do end trait :with_logo do - logo { Rack::Test::UploadedFile.new("./spec/fixtures/files/logo_test_procedure.png", 'application/pdf') } + logo { Rack::Test::UploadedFile.new("./spec/fixtures/files/logo_test_procedure.png", 'image/png') } end trait :with_path do From 44574b2b93f726e8e03ab9f93a9efcbbaeb9c4a2 Mon Sep 17 00:00:00 2001 From: Pierre de La Morinerie Date: Wed, 17 Jul 2019 14:40:17 +0200 Subject: [PATCH 2/6] mailer_preview: improve data used for generating previews --- .../previews/dossier_mailer_preview.rb | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/spec/mailers/previews/dossier_mailer_preview.rb b/spec/mailers/previews/dossier_mailer_preview.rb index d34d4f0e6..8ac4eab87 100644 --- a/spec/mailers/previews/dossier_mailer_preview.rb +++ b/spec/mailers/previews/dossier_mailer_preview.rb @@ -1,7 +1,7 @@ # Preview all emails at http://localhost:3000/rails/mailers/dossier_mailer class DossierMailerPreview < ActionMailer::Preview def notify_new_draft - DossierMailer.notify_new_draft(dossier) + DossierMailer.notify_new_draft(draft) end def notify_new_answer @@ -26,11 +26,24 @@ class DossierMailerPreview < ActionMailer::Preview DeletedDossier.new(dossier_id: 1, procedure: procedure) end + def draft + Dossier.new(id: 47882, procedure: procedure, user: User.new(email: "usager@example.com")) + end + def dossier - Dossier.new(id: 1, procedure: procedure, user: User.new(email: "usager@example.com")) + Dossier.new(id: 47882, state: :en_instruction, procedure: procedure, user: User.new(email: "usager@example.com")) end def procedure - Procedure.new(libelle: 'Démarche pour des marches') + Procedure.new(libelle: 'Dotation d’Équipement des Territoires Ruraux - Exercice 2019', service: service, logo: Rack::Test::UploadedFile.new("./spec/fixtures/files/logo_test_procedure.png", 'image/png')) + end + + def service + Service.new( + nom: 'Direction du Territoire des Vosges', + email: 'prms@ddt.vosges.gouv.fr', + telephone: '01 34 22 33 85', + horaires: 'Du lundi au vendredi, de 9 h à 18 h' + ) end end From bd39eb345358d72896db4f40e21f40286aa6c5ea Mon Sep 17 00:00:00 2001 From: Pierre de La Morinerie Date: Wed, 17 Jul 2019 13:39:17 +0200 Subject: [PATCH 3/6] emails: remove dead code --- app/mailers/dossier_mailer.rb | 9 -------- .../notify_unmigrated_to_user.html.haml | 22 ------------------- 2 files changed, 31 deletions(-) delete mode 100644 app/views/dossier_mailer/notify_unmigrated_to_user.html.haml diff --git a/app/mailers/dossier_mailer.rb b/app/mailers/dossier_mailer.rb index a26caff85..7182c95e2 100644 --- a/app/mailers/dossier_mailer.rb +++ b/app/mailers/dossier_mailer.rb @@ -47,15 +47,6 @@ class DossierMailer < ApplicationMailer mail(to: dossier.user.email, subject: @subject) end - def notify_unmigrated_to_user(dossier, new_procedure) - @dossier = dossier - @dossier_kind = dossier.brouillon? ? 'brouillon' : 'dossier' - @subject = "Changement de procédure pour votre #{@dossier_kind} n° #{@dossier.id}" - @new_procedure = new_procedure - - mail(to: dossier.user.email, subject: @subject) - end - def notify_revert_to_instruction(dossier) @dossier = dossier @subject = "Votre dossier n° #{@dossier.id} est en train d'être réexaminé" diff --git a/app/views/dossier_mailer/notify_unmigrated_to_user.html.haml b/app/views/dossier_mailer/notify_unmigrated_to_user.html.haml deleted file mode 100644 index 438f68252..000000000 --- a/app/views/dossier_mailer/notify_unmigrated_to_user.html.haml +++ /dev/null @@ -1,22 +0,0 @@ -- content_for(:title, @subject) - -%h1 Bonjour, - -%p - Vous avez commencé un #{@dossier_kind}, - = link_to("n° #{@dossier.id}", dossier_url(@dossier)) - sur la procédure « #{@dossier.procedure.libelle} ». - En raison d’un changement dans la procédure, votre #{@dossier_kind} a été inaccessible pendant quelques jours. - L’accès est à présent à nouveau possible. - -%p - Malheureusement, en raison des changements dans le procédure, vous ne pourrez pas mener à terme le #{@dossier_kind} commencé. - Si votre démarche est toujours d’actualité, nous vous invitons à la recommencer sur - = link_to("la nouvelle procédure", commencer_url(@new_procedure.path)) - \. - -%p - Nous avons pris des mesures pour nous assurer qu’un tel désagrément ne se reproduise pas, - et vous présentons nos excuses pour la gène occasionnée. - -= render partial: "layouts/mailers/signature" From bc42c90fe53eeb2c150efa6a190f4474b514db5d Mon Sep 17 00:00:00 2001 From: Pierre de La Morinerie Date: Wed, 17 Jul 2019 13:15:07 +0200 Subject: [PATCH 4/6] emails: make signature more compact --- app/views/layouts/mailers/_signature.html.haml | 5 ++--- app/views/notification_mailer/_signature.html.haml | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/app/views/layouts/mailers/_signature.html.haml b/app/views/layouts/mailers/_signature.html.haml index ea217a250..ca5ad2778 100644 --- a/app/views/layouts/mailers/_signature.html.haml +++ b/app/views/layouts/mailers/_signature.html.haml @@ -1,5 +1,4 @@ %p Bonne journée, - -%p - L'équipe demarches-simplifiees.fr + %br + L’équipe demarches-simplifiees.fr diff --git a/app/views/notification_mailer/_signature.html.haml b/app/views/notification_mailer/_signature.html.haml index 132bfafa4..9aef6f966 100644 --- a/app/views/notification_mailer/_signature.html.haml +++ b/app/views/notification_mailer/_signature.html.haml @@ -1,4 +1,4 @@ %p Bonne journée, - -%p --nom du service-- + %br + \ --nom du service-- From 71dfb3878765de806dfeedcb6eee6fdeb0599ec6 Mon Sep 17 00:00:00 2001 From: Pierre de La Morinerie Date: Wed, 17 Jul 2019 13:42:14 +0200 Subject: [PATCH 5/6] emails: improve typography of titles --- app/mailers/dossier_mailer.rb | 12 ++++++------ spec/mailers/dossier_mailer_spec.rb | 6 +++--- spec/models/dossier_spec.rb | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/app/mailers/dossier_mailer.rb b/app/mailers/dossier_mailer.rb index 7182c95e2..37f92f447 100644 --- a/app/mailers/dossier_mailer.rb +++ b/app/mailers/dossier_mailer.rb @@ -4,7 +4,7 @@ class DossierMailer < ApplicationMailer def notify_new_draft(dossier) @dossier = dossier - subject = "Retrouvez votre brouillon pour la démarche \"#{dossier.procedure.libelle}\"" + subject = "Retrouvez votre brouillon pour la démarche « #{dossier.procedure.libelle} »" mail(to: dossier.user.email, subject: subject) end @@ -20,21 +20,21 @@ class DossierMailer < ApplicationMailer def notify_deletion_to_user(deleted_dossier, to_email) @deleted_dossier = deleted_dossier - subject = "Votre dossier n° #{@deleted_dossier.dossier_id} a bien été supprimé" + subject = "Votre dossier nº #{@deleted_dossier.dossier_id} a bien été supprimé" mail(to: to_email, subject: subject) end def notify_deletion_to_administration(deleted_dossier, to_email) @deleted_dossier = deleted_dossier - subject = "Le dossier n° #{@deleted_dossier.dossier_id} a été supprimé à la demande de l'usager" + subject = "Le dossier nº #{@deleted_dossier.dossier_id} a été supprimé à la demande de l'usager" mail(to: to_email, subject: subject) end def notify_unhide_to_user(dossier) @dossier = dossier - subject = "Votre dossier n° #{@dossier.id} n'a pas pu être supprimé" + subject = "Votre dossier nº #{@dossier.id} n'a pas pu être supprimé" mail(to: dossier.user.email, subject: subject) end @@ -42,14 +42,14 @@ class DossierMailer < ApplicationMailer def notify_undelete_to_user(dossier) @dossier = dossier @dossier_kind = dossier.brouillon? ? 'brouillon' : 'dossier' - @subject = "Votre #{@dossier_kind} n° #{@dossier.id} est à nouveau accessible" + @subject = "Votre #{@dossier_kind} nº #{@dossier.id} est à nouveau accessible" mail(to: dossier.user.email, subject: @subject) end def notify_revert_to_instruction(dossier) @dossier = dossier - @subject = "Votre dossier n° #{@dossier.id} est en train d'être réexaminé" + @subject = "Votre dossier nº #{@dossier.id} est en train d'être réexaminé" mail(to: dossier.user.email, subject: @subject) end diff --git a/spec/mailers/dossier_mailer_spec.rb b/spec/mailers/dossier_mailer_spec.rb index eaec0fc93..626d1513b 100644 --- a/spec/mailers/dossier_mailer_spec.rb +++ b/spec/mailers/dossier_mailer_spec.rb @@ -29,7 +29,7 @@ RSpec.describe DossierMailer, type: :mailer do subject { described_class.notify_deletion_to_user(deleted_dossier, to_email) } - it { expect(subject.subject).to eq("Votre dossier n° #{deleted_dossier.dossier_id} a bien été supprimé") } + it { expect(subject.subject).to eq("Votre dossier nº #{deleted_dossier.dossier_id} a bien été supprimé") } it { expect(subject.body).to include("Votre dossier") } it { expect(subject.body).to include(deleted_dossier.dossier_id) } it { expect(subject.body).to include("a bien été supprimé") } @@ -41,7 +41,7 @@ RSpec.describe DossierMailer, type: :mailer do subject { described_class.notify_deletion_to_administration(deleted_dossier, to_email) } - it { expect(subject.subject).to eq("Le dossier n° #{deleted_dossier.dossier_id} a été supprimé à la demande de l'usager") } + it { expect(subject.subject).to eq("Le dossier nº #{deleted_dossier.dossier_id} a été supprimé à la demande de l'usager") } it { expect(subject.body).to include("À la demande de l'usager") } it { expect(subject.body).to include(deleted_dossier.dossier_id) } it { expect(subject.body).to include(deleted_dossier.procedure.libelle) } @@ -52,7 +52,7 @@ RSpec.describe DossierMailer, type: :mailer do subject { described_class.notify_unhide_to_user(dossier) } - it { expect(subject.subject).to eq("Votre dossier n° #{dossier.id} n'a pas pu être supprimé") } + it { expect(subject.subject).to eq("Votre dossier nº #{dossier.id} n'a pas pu être supprimé") } it { expect(subject.body).to include(dossier.id) } it { expect(subject.body).to include("n'a pas pu être supprimé") } it { expect(subject.body).to include(dossier.procedure.libelle) } diff --git a/spec/models/dossier_spec.rb b/spec/models/dossier_spec.rb index 312e5d9ab..8a5edc1d3 100644 --- a/spec/models/dossier_spec.rb +++ b/spec/models/dossier_spec.rb @@ -449,7 +449,7 @@ describe Dossier do end.to change(ActionMailer::Base.deliveries, :size).from(0).to(1) mail = ActionMailer::Base.deliveries.last - expect(mail.subject).to eq("Retrouvez votre brouillon pour la démarche \"#{procedure.libelle}\"") + expect(mail.subject).to eq("Retrouvez votre brouillon pour la démarche « #{procedure.libelle} »") expect(mail.html_part.body).to include(dossier_url(dossier)) end From 727702ad4be350856ea301c357f350a5a3693fa3 Mon Sep 17 00:00:00 2001 From: Pierre de La Morinerie Date: Wed, 17 Jul 2019 13:42:51 +0200 Subject: [PATCH 6/6] emails: mention the procedure name in the email title --- app/mailers/dossier_mailer.rb | 2 +- app/models/mails/closed_mail.rb | 2 +- app/models/mails/initiated_mail.rb | 2 +- app/models/mails/received_mail.rb | 2 +- app/models/mails/refused_mail.rb | 2 +- app/models/mails/without_continuation_mail.rb | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/mailers/dossier_mailer.rb b/app/mailers/dossier_mailer.rb index 37f92f447..c07fed240 100644 --- a/app/mailers/dossier_mailer.rb +++ b/app/mailers/dossier_mailer.rb @@ -11,7 +11,7 @@ class DossierMailer < ApplicationMailer def notify_new_answer(dossier) @dossier = dossier - subject = "Nouveau message pour votre dossier nº #{dossier.id}" + subject = "Nouveau message pour votre dossier nº #{dossier.id} (#{dossier.procedure.libelle})" mail(to: dossier.user.email, subject: subject) do |format| format.html { render layout: 'mailers/notification' } diff --git a/app/models/mails/closed_mail.rb b/app/models/mails/closed_mail.rb index 1c954c9f0..a0245bac6 100644 --- a/app/models/mails/closed_mail.rb +++ b/app/models/mails/closed_mail.rb @@ -6,7 +6,7 @@ module Mails SLUG = "closed_mail" DISPLAYED_NAME = "Accusé d'acceptation" - DEFAULT_SUBJECT = 'Votre dossier demarches-simplifiees.fr nº --numéro du dossier-- a été accepté' + DEFAULT_SUBJECT = 'Votre dossier nº --numéro du dossier-- a été accepté (--libellé démarche--)' DOSSIER_STATE = Dossier.states.fetch(:accepte) def self.default_template_name_for_procedure(procedure) diff --git a/app/models/mails/initiated_mail.rb b/app/models/mails/initiated_mail.rb index ab438e023..fc32ae5da 100644 --- a/app/models/mails/initiated_mail.rb +++ b/app/models/mails/initiated_mail.rb @@ -7,7 +7,7 @@ module Mails SLUG = "initiated_mail" DEFAULT_TEMPLATE_NAME = "notification_mailer/initiated_mail" DISPLAYED_NAME = 'Accusé de réception' - DEFAULT_SUBJECT = 'Votre dossier demarches-simplifiees.fr nº --numéro du dossier-- a bien été reçu' + DEFAULT_SUBJECT = 'Votre dossier nº --numéro du dossier-- a bien été reçu (--libellé démarche--)' DOSSIER_STATE = Dossier.states.fetch(:en_construction) end end diff --git a/app/models/mails/received_mail.rb b/app/models/mails/received_mail.rb index 59832b9dd..5cb3258e1 100644 --- a/app/models/mails/received_mail.rb +++ b/app/models/mails/received_mail.rb @@ -7,7 +7,7 @@ module Mails SLUG = "received_mail" DEFAULT_TEMPLATE_NAME = "notification_mailer/received_mail" DISPLAYED_NAME = 'Accusé de passage en instruction' - DEFAULT_SUBJECT = 'Votre dossier demarches-simplifiees.fr nº --numéro du dossier-- va être instruit' + DEFAULT_SUBJECT = 'Votre dossier nº --numéro du dossier-- va être instruit (--libellé démarche--)' DOSSIER_STATE = Dossier.states.fetch(:en_instruction) end end diff --git a/app/models/mails/refused_mail.rb b/app/models/mails/refused_mail.rb index 19d66db10..d4b4d25db 100644 --- a/app/models/mails/refused_mail.rb +++ b/app/models/mails/refused_mail.rb @@ -7,7 +7,7 @@ module Mails SLUG = "refused_mail" DEFAULT_TEMPLATE_NAME = "notification_mailer/refused_mail" DISPLAYED_NAME = 'Accusé de rejet du dossier' - DEFAULT_SUBJECT = 'Votre dossier demarches-simplifiees.fr nº --numéro du dossier-- a été refusé' + DEFAULT_SUBJECT = 'Votre dossier nº --numéro du dossier-- a été refusé (--libellé démarche--)' DOSSIER_STATE = Dossier.states.fetch(:refuse) end end diff --git a/app/models/mails/without_continuation_mail.rb b/app/models/mails/without_continuation_mail.rb index b70102b32..11cd9a182 100644 --- a/app/models/mails/without_continuation_mail.rb +++ b/app/models/mails/without_continuation_mail.rb @@ -7,7 +7,7 @@ module Mails SLUG = "without_continuation" DEFAULT_TEMPLATE_NAME = "notification_mailer/without_continuation_mail" DISPLAYED_NAME = 'Accusé de classement sans suite' - DEFAULT_SUBJECT = 'Votre dossier demarches-simplifiees.fr nº --numéro du dossier-- a été classé sans suite' + DEFAULT_SUBJECT = 'Votre dossier nº --numéro du dossier-- a été classé sans suite (--libellé démarche--)' DOSSIER_STATE = Dossier.states.fetch(:sans_suite) end end