diff --git a/app/assets/stylesheets/utils.scss b/app/assets/stylesheets/utils.scss index 11c6f7ec4..a67cb63bf 100644 --- a/app/assets/stylesheets/utils.scss +++ b/app/assets/stylesheets/utils.scss @@ -62,6 +62,10 @@ margin-top: 4 * $default-spacer; } +.mt-8 { + margin-top: 8 * $default-spacer; +} + .mb-2 { margin-bottom: 2 * $default-spacer; } diff --git a/app/controllers/instructeurs/procedures_controller.rb b/app/controllers/instructeurs/procedures_controller.rb index e33e2d998..43522e1d9 100644 --- a/app/controllers/instructeurs/procedures_controller.rb +++ b/app/controllers/instructeurs/procedures_controller.rb @@ -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 diff --git a/app/models/bulk_message.rb b/app/models/bulk_message.rb index 376e231ad..03c11a8ef 100644 --- a/app/models/bulk_message.rb +++ b/app/models/bulk_message.rb @@ -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 diff --git a/app/views/dossier_mailer/notify_new_answer.html.haml b/app/views/dossier_mailer/notify_new_answer.html.haml index 34b31536a..de623db62 100644 --- a/app/views/dossier_mailer/notify_new_answer.html.haml +++ b/app/views/dossier_mailer/notify_new_answer.html.haml @@ -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 diff --git a/app/views/instructeurs/procedures/email_usagers.html.haml b/app/views/instructeurs/procedures/email_usagers.html.haml index b500eea17..c5276ae50 100644 --- a/app/views/instructeurs/procedures/email_usagers.html.haml +++ b/app/views/instructeurs/procedures/email_usagers.html.haml @@ -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 diff --git a/app/views/instructeurs/procedures/show.html.haml b/app/views/instructeurs/procedures/show.html.haml index 8af85c084..fcd6b05e3 100644 --- a/app/views/instructeurs/procedures/show.html.haml +++ b/app/views/instructeurs/procedures/show.html.haml @@ -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', diff --git a/app/views/layouts/mailers/notifications_layout.html.erb b/app/views/layouts/mailers/notifications_layout.html.erb index cd765cd67..9a84f54da 100644 --- a/app/views/layouts/mailers/notifications_layout.html.erb +++ b/app/views/layouts/mailers/notifications_layout.html.erb @@ -145,7 +145,7 @@