feat: as gestionnaire, contact gestionnaire of parent groupe
This commit is contained in:
parent
641a33e1e0
commit
fba3cbe331
14 changed files with 183 additions and 32 deletions
|
@ -9,5 +9,5 @@
|
|||
%ul.messages-list{ data: { controller: 'scroll-to' } }
|
||||
- current_administrateur.commentaire_groupe_gestionnaires.where(groupe_gestionnaire: @groupe_gestionnaire).each do |commentaire|
|
||||
%li.message{ class: commentaire_is_from_me_class(commentaire, current_administrateur), id: dom_id(commentaire) }
|
||||
= render(GroupeGestionnaire::GroupeGestionnaireCommentaires::CommentaireComponent.new(commentaire: commentaire, connected_user: current_administrateur, is_gestionnaire: false, commentaire_seen_at: @commentaire_seen_at))
|
||||
= render(GroupeGestionnaire::GroupeGestionnaireCommentaires::CommentaireComponent.new(commentaire: commentaire, connected_user: current_administrateur, commentaire_seen_at: @commentaire_seen_at))
|
||||
= render partial: "shared/groupe_gestionnaires/commentaires/form", locals: { commentaire: @commentaire, form_url: admin_groupe_gestionnaire_create_commentaire_path }
|
||||
|
|
|
@ -13,4 +13,13 @@
|
|||
%th= 'Dernier message'
|
||||
%th
|
||||
%tbody#commentaires
|
||||
= render(GroupeGestionnaire::GroupeGestionnaireListCommentaires::CommentaireComponent.with_collection(@groupe_gestionnaire.commentaire_groupe_gestionnaires.select("sender_id, sender_type, sender_email, MAX(id) as id, MAX(created_at) as created_at").group(:sender_id, :sender_type, :sender_email).order("MAX(id) DESC"), groupe_gestionnaire: @groupe_gestionnaire))
|
||||
- commentaires = @groupe_gestionnaire.current_commentaires_groupe_and_children_commentaires_groupe
|
||||
- if @groupe_gestionnaire.parent_id && !current_gestionnaire.groupe_gestionnaires.where(id: @groupe_gestionnaire.parent_id).exists?
|
||||
- commentaires = commentaires.or(CommentaireGroupeGestionnaire.where(groupe_gestionnaire_id: @groupe_gestionnaire.id, sender: current_gestionnaire))
|
||||
= render(GroupeGestionnaire::GroupeGestionnaireListCommentaires::CommentaireComponent.with_collection(commentaires.select("sender_id, sender_type, sender_email, MAX(id) as id, MAX(created_at) as created_at").group(:sender_id, :sender_type, :sender_email).order("MAX(id) DESC"), groupe_gestionnaire: @groupe_gestionnaire))
|
||||
- if @groupe_gestionnaire.parent_id && !current_gestionnaire.groupe_gestionnaires.where(id: @groupe_gestionnaire.parent_id).exists? && @last_commentaire.nil?
|
||||
%tr
|
||||
%td= "Messages avec le groupe gestionnaire parent (#{@groupe_gestionnaire.parent.name})"
|
||||
%td
|
||||
%td
|
||||
= link_to 'Voir', parent_groupe_gestionnaire_gestionnaire_groupe_gestionnaire_commentaires_path(@groupe_gestionnaire), class: 'fr-btn fr-btn--sm fr-btn--tertiary'
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
= render partial: 'gestionnaires/breadcrumbs',
|
||||
locals: { steps: [['Groupes gestionnaire', gestionnaire_groupe_gestionnaires_path],
|
||||
["#{@groupe_gestionnaire.name.truncate_words(10)}", gestionnaire_groupe_gestionnaire_path(@groupe_gestionnaire)],
|
||||
["Messagerie", gestionnaire_groupe_gestionnaire_commentaires_path(@groupe_gestionnaire)],
|
||||
["Messages avec le groupe gestionnaire parent (#{@groupe_gestionnaire.parent.name})"]], preview: false }
|
||||
|
||||
.container
|
||||
%h1 Messages avec le groupe gestionnaire parent « #{ "(#{@groupe_gestionnaire.parent.name})" } »
|
||||
.messagerie.container
|
||||
- unless (commentaires = @groupe_gestionnaire.commentaire_groupe_gestionnaires.where(sender_id: current_gestionnaire.id, sender_type: "Gestionnaire")).empty?
|
||||
%ul.messages-list{ data: { controller: 'scroll-to' } }
|
||||
- commentaires.each do |commentaire|
|
||||
%li.message{ class: commentaire_is_from_me_class(commentaire, current_gestionnaire), id: dom_id(commentaire) }
|
||||
= render(GroupeGestionnaire::GroupeGestionnaireCommentaires::CommentaireComponent.new(commentaire: commentaire, connected_user: current_gestionnaire, commentaire_seen_at: @commentaire_seen_at))
|
||||
= render partial: "shared/groupe_gestionnaires/commentaires/form", locals: { commentaire: @commentaire, form_url: create_parent_groupe_gestionnaire_gestionnaire_groupe_gestionnaire_commentaires_path(@groupe_gestionnaire) }
|
|
@ -8,7 +8,7 @@
|
|||
%h1 Messages de « #{ @last_commentaire.sender_email } »
|
||||
.messagerie.container
|
||||
%ul.messages-list{ data: { controller: 'scroll-to' } }
|
||||
- @groupe_gestionnaire.commentaire_groupe_gestionnaires.where(sender_id: @last_commentaire.sender_id, sender_type: @last_commentaire.sender_type).each do |commentaire|
|
||||
- @groupe_gestionnaire.current_commentaires_groupe_and_children_commentaires_groupe.where(sender_id: @last_commentaire.sender_id, sender_type: @last_commentaire.sender_type).each do |commentaire|
|
||||
%li.message{ class: commentaire_is_from_me_class(commentaire, current_gestionnaire), id: dom_id(commentaire) }
|
||||
= render(GroupeGestionnaire::GroupeGestionnaireCommentaires::CommentaireComponent.new(commentaire: commentaire, connected_user: current_gestionnaire, commentaire_seen_at: @commentaire_seen_at))
|
||||
- if @last_commentaire.sender
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue