Merge pull request #10859 from demarches-simplifiees/improve-dossier-transfer-ldu
Améliorer le mail si un usager sans compte DS reçoit un transfert de dossier
This commit is contained in:
commit
e1d9ea2a66
10 changed files with 38 additions and 20 deletions
|
@ -405,10 +405,6 @@ module Users
|
|||
@transfer = DossierTransfer.new(dossiers: [dossier])
|
||||
end
|
||||
|
||||
def transferer_all
|
||||
@transfer = DossierTransfer.new(dossiers: current_user.dossiers)
|
||||
end
|
||||
|
||||
def restore
|
||||
dossier.restore(current_user)
|
||||
flash.notice = t('users.dossiers.restore')
|
||||
|
|
|
@ -206,6 +206,8 @@ class DossierMailer < ApplicationMailer
|
|||
def notify_transfer
|
||||
@transfer = params[:dossier_transfer]
|
||||
|
||||
@user = User.find_by(email: @transfer.email)
|
||||
|
||||
configure_defaults_for_email(@transfer.email)
|
||||
|
||||
I18n.with_locale(@transfer.user_locale) do
|
||||
|
|
|
@ -10,7 +10,13 @@
|
|||
= dossier.procedure.libelle
|
||||
|
||||
%p
|
||||
= t('.transfer_text')
|
||||
- if @user.present?
|
||||
= t('.transfer_text', app_name: Current.application_name)
|
||||
%br
|
||||
= link_to t('.transfer_link'), dossiers_url(statut: 'dossiers-transferes')
|
||||
- else
|
||||
= t('.no_user_transfer_text')
|
||||
%br
|
||||
= link_to t('.no_user_transfer_link', app_name: Current.application_name), new_user_registration_url
|
||||
|
||||
= render partial: "layouts/mailers/signature"
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
.container.mt-4
|
||||
Transferer les #{@transfer.dossiers.size} dossiers de votre compte vers le compte d’un autre usager :
|
||||
|
||||
= form_for @transfer, url: transfers_path, html: { class: 'form mt-2' } do |f|
|
||||
= f.label :email, 'Email du compte destinataire'
|
||||
= f.email_field :email, required: true
|
||||
= f.submit "Envoyer la demande de transfert", class: 'button primary'
|
|
@ -315,7 +315,7 @@ en:
|
|||
new:
|
||||
title: 'Confirm your email address'
|
||||
image_alt: "Email sent"
|
||||
email_cta_html: "Before filling your file, we have to validate your email address <strong>%{email}</strong>."
|
||||
email_cta_html: "Before proceeding, we have to validate your email address <strong>%{email}</strong>."
|
||||
email_guidelines_html: "Open your mailbox and <strong>click on the activation link</strong> within the mail we just sent you."
|
||||
email_missing: "If you have not received our email (have you checked your spam ?), we can resend it."
|
||||
resent: 'Resend the confirmation email'
|
||||
|
|
|
@ -307,7 +307,7 @@ fr:
|
|||
new:
|
||||
title: 'Confirmez votre adresse email'
|
||||
image_alt: "Email envoyé"
|
||||
email_cta_html: "Avant d’effectuer votre démarche, nous avons besoin de vérifier votre adresse électronique <strong>%{email}</strong>."
|
||||
email_cta_html: "Avant de pouvoir continuer, nous avons besoin de vérifier votre adresse électronique <strong>%{email}</strong>."
|
||||
email_guidelines_html: "Ouvrez votre boîte email, et <strong>cliquez sur le lien d’activation</strong> dans le message que vous avez reçu."
|
||||
email_missing: "Si vous n’avez pas reçu notre message (avez-vous vérifié les indésirables ?), nous pouvons vous le renvoyer."
|
||||
resent: 'Renvoyer un email de confirmation'
|
||||
|
|
|
@ -2,7 +2,9 @@ en:
|
|||
dossier_mailer:
|
||||
notify_transfer:
|
||||
subject: You have a pending transfer request.
|
||||
transfer_text: "Access the transfer request by clicking on the following link:"
|
||||
transfer_link: transfer request
|
||||
transfer_text: "In order to accept or refuse the request you must log in on %{app_name}:"
|
||||
transfer_link: Acces transfer request
|
||||
no_user_transfer_text: "In order to accept or refuse the request you must have an account:"
|
||||
no_user_transfer_link: Create an account on %{app_name}
|
||||
transfert_multiple: "%{sender} sends you a transfer request for %{count} files."
|
||||
transfert_simple: "%{sender} sends you a transfer request for file no. %{dossier_id} on the procedure"
|
||||
|
|
|
@ -2,7 +2,9 @@ fr:
|
|||
dossier_mailer:
|
||||
notify_transfer:
|
||||
subject: Vous avez une demande de transfert en attente.
|
||||
transfer_text: "Accéder à la demande de transfert en cliquant sur le lien suivant :"
|
||||
transfer_link: demande de transfert
|
||||
transfer_text: "Afin de pouvoir accepter ou refuser la demande vous devez vous connectez sur %{app_name} :"
|
||||
transfer_link: accéder à la demande de transfert
|
||||
no_user_transfer_text: "Afin de pouvoir accepter ou refuser la demande vous devez avoir un compte :"
|
||||
no_user_transfer_link: se créer un compte sur %{app_name}
|
||||
transfert_multiple: "%{sender} vous adresse une demande de transfert pour %{count} dossiers."
|
||||
transfert_simple: "%{sender} vous adresse une demande de transfert pour le dossier n° %{dossier_id} sur la démarche"
|
||||
|
|
|
@ -390,7 +390,6 @@ Rails.application.routes.draw do
|
|||
end
|
||||
|
||||
collection do
|
||||
get 'transferer', to: 'dossiers#transferer_all'
|
||||
resources :transfers, only: [:create, :update, :destroy]
|
||||
end
|
||||
end
|
||||
|
|
|
@ -313,6 +313,7 @@ RSpec.describe DossierMailer, type: :mailer do
|
|||
|
||||
describe 'notify_transfer' do
|
||||
let(:user) { create(:user) }
|
||||
let(:user_2) { create(:user) }
|
||||
let(:procedure) { create(:procedure) }
|
||||
let(:dossier_transfer) { create(:dossier_transfer) }
|
||||
let!(:dossier) { create(:dossier, user: user, transfer: dossier_transfer, procedure: procedure) }
|
||||
|
@ -327,6 +328,23 @@ RSpec.describe DossierMailer, type: :mailer do
|
|||
end
|
||||
end
|
||||
|
||||
context 'when the user has already an account' do
|
||||
before do
|
||||
dossier_transfer.update!(email: user_2.email)
|
||||
end
|
||||
it 'includes a direct URL to transfers' do
|
||||
expect(subject.body).to include('Afin de pouvoir accepter ou refuser la demande vous devez vous connectez sur')
|
||||
expect(subject.body).to include(dossiers_url(statut: 'dossiers-transferes', host: ENV.fetch("APP_HOST_LEGACY")))
|
||||
end
|
||||
end
|
||||
|
||||
context 'when the user has no account' do
|
||||
it 'includes a URL to create one' do
|
||||
expect(subject.body).to include('Afin de pouvoir accepter ou refuser la demande vous devez avoir un compte :')
|
||||
expect(subject.body).to include(new_user_registration_url)
|
||||
end
|
||||
end
|
||||
|
||||
context 'when recipient has preferred domain' do
|
||||
let(:dossier_transfer) { create(:dossier_transfer, email: create(:user, preferred_domain: :demarches_gouv_fr).email) }
|
||||
it 'includes a link with the preferred domain in the email body' do
|
||||
|
|
Loading…
Reference in a new issue