Merge pull request #6376 from betagouv/add-references-bulk-message

Améliorations sur l'envoi des messages aux usagers en brouillon
This commit is contained in:
Kara Diaby 2021-08-04 11:46:57 +02:00 committed by GitHub
commit e947dd50e0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 40 additions and 15 deletions

View file

@ -62,6 +62,10 @@
margin-top: 4 * $default-spacer;
}
.mt-8 {
margin-top: 8 * $default-spacer;
}
.mb-2 {
margin-bottom: 2 * $default-spacer;
}

View file

@ -225,7 +225,7 @@ module Instructeurs
@email_usagers_dossiers = email_usagers_dossiers
@dossiers_count = @email_usagers_dossiers.count
@groupe_instructeurs = email_usagers_groupe_instructeurs_label
@bulk_messages = BulkMessage.includes(:groupe_instructeurs).where(groupe_instructeurs: { id: current_instructeur.groupe_instructeur_ids })
@bulk_messages = BulkMessage.includes(:groupe_instructeurs).where(groupe_instructeurs: { id: current_instructeur.groupe_instructeur_ids, procedure: procedure })
end
def create_multiple_commentaire

View file

@ -13,6 +13,6 @@
#
class BulkMessage < ApplicationRecord
belongs_to :instructeur
has_one_attached :piece_jointe
has_and_belongs_to_many :groupe_instructeurs
has_one_attached :piece_jointe
end

View file

@ -3,20 +3,28 @@
%p
Bonjour,
- if !@dossier.brouillon?
%p
Vous avez reçu un
%strong nouveau message
de la part du service en charge de votre dossier.
- if !@dossier.brouillon?
%p
Pour consulter le message et y répondre, cliquez sur le bouton ci-dessous :
= round_button('Lire le message', messagerie_dossier_url(@dossier), :primary)
- else
%p
Vous avez reçu un
%strong nouveau message
du service pour lequel votre dossier est en brouillon pour la démarche #{@dossier.procedure.libelle}.
%p{ style: "padding: 8px; color: #333333; background-color: #EEEEEE; font-size: 14px;" }
= @body
%p Si vous souhaitez contacter le service, merci de le faire directement à l'aide de l'email en bas de page.
= round_button('Voir le dossier', dossier_url(@dossier), :primary)
= render 'layouts/mailers/signature', service: @service
- content_for :footer do

View file

@ -2,15 +2,29 @@
= render partial: 'new_administrateur/breadcrumbs',
locals: { steps: [link_to(@procedure.libelle, instructeur_procedure_path(@procedure)),
'Contacter les usagers en brouillon'] }
'Contacter les usagers (brouillon)'] }
.messagerie.container
- if @bulk_messages.present?
%p.mb-2 Messages envoyés aux usagers :
- @bulk_messages.each do |bulk_message|
%li.mb-1 #{bulk_message.instructeur.email} a envoyé un message le #{bulk_message.sent_at.strftime('%d-%m-%Y')} à #{bulk_message.dossier_count} usagers, #{bulk_message.piece_jointe.blob.present? ? "avec" : "sans"} pièce jointe
- if @email_usagers_dossiers.present?
%p.notice.mb-2.mt-4 Vous allez envoyer un message à #{pluralize(@dossiers_count, 'personne')} dans les groupes instructeurs : #{@groupe_instructeurs.join(', ')}.
%p.notice.mb-2.mt-4 Vous allez envoyer un message à #{pluralize(@dossiers_count, 'personne')} dont les dossiers sont en brouillon, dans les groupes instructeurs : #{@groupe_instructeurs.join(', ')}.
= render partial: 'shared/dossiers/messages/form', locals: { commentaire: @commentaire, form_url: create_multiple_commentaire_instructeur_procedure_path(@procedure) }
- if @bulk_messages.present?
%section.list-avis.mt-8
%h1.tab-title
Messages envoyés précedemment
%span.count= @bulk_messages.count
%ul
- @bulk_messages.each do |message|
%li.one-avis.flex.align-start
.width-100
%h2.claimant
%span.email= message.instructeur.email
%span.date message envoyé à #{@dossiers_count} usagers le #{message.sent_at.strftime('%d/%m/%y à %H:%M')}
%p= message.body
.answer.flex.align-start
- if message.piece_jointe.present?
= render partial: 'shared/attachment/show', locals: { attachment: message.piece_jointe.attachment }
- else
.page-title.center
%h2 Il n'y a aucun dossier en brouillon dans vos groupes instructeurs

View file

@ -11,10 +11,6 @@
%h1= procedure_libelle @procedure
= link_to 'gestion des notifications', email_notifications_instructeur_procedure_path(@procedure), class: 'header-link'
|
- if @procedure.dossiers.state_brouillon.where(groupe_instructeur: current_instructeur.groupe_instructeur_ids).includes(:groupe_instructeur).present?
= link_to 'contacter les usagers en brouillon', email_usagers_instructeur_procedure_path(@procedure), class: 'header-link'
|
= link_to 'statistiques', stats_instructeur_procedure_path(@procedure), class: 'header-link'
- if @procedure.routee?
@ -23,6 +19,9 @@
= link_to 'instructeurs', admin_procedure_groupe_instructeurs_path(@procedure), class: 'header-link'
- else
= link_to 'instructeurs', instructeur_groupes_path(@procedure), class: 'header-link'
- if @procedure.dossiers.state_brouillon.where(groupe_instructeur: current_instructeur.groupe_instructeur_ids).includes(:groupe_instructeur).present?
|
= link_to 'contacter les usagers (brouillon)', email_usagers_instructeur_procedure_path(@procedure), class: 'header-link'
%ul.tabs
= tab_item('à suivre',

View file

@ -145,7 +145,7 @@
<tr>
<td style="word-wrap:break-word;font-size:0px;padding:0px 20px 0px 20px;padding-top:0px;padding-bottom:0px;" align="center">
<div class="" style="cursor:auto;color:#55575d;font-family:Helvetica, Arial, sans-serif;font-size:11px;line-height:22px;text-align:center;">
<%= "#{APPLICATION_NAME}" %> est un service fourni par la DINUM et incubé par beta.gouv.fr
<%= "#{APPLICATION_NAME}" %> est un service fourni par la DINUM
</div>
</td>
</tr>