Merge pull request #10011 from adullact/feature-ouidou/admin_creation_delegation_review
ETQ gestionnaire d'admins: sépare les commentaires par origine + correctifs
This commit is contained in:
commit
76d903b04e
9 changed files with 47 additions and 27 deletions
|
@ -35,7 +35,9 @@ class GroupeGestionnaire::GroupeGestionnaireAdministrateurs::AdministrateurCompo
|
|||
button_to "Révoquer l'accès administrateur",
|
||||
gestionnaire_groupe_gestionnaire_administrateur_path(@groupe_gestionnaire, @administrateur),
|
||||
method: :delete,
|
||||
disabled: !@administrateur.can_be_deleted?,
|
||||
class: 'fr-btn fr-btn--sm fr-btn--tertiary',
|
||||
title: @administrateur.can_be_deleted? ? "Supprimer" : "Cet administrateur a des démarches dont il est le seul admin et ne peut être supprimé",
|
||||
form: { data: { turbo: true, turbo_confirm: "Supprimer « #{@administrateur.email} » en tant qu'administrateur ?" } }
|
||||
end
|
||||
end
|
||||
|
|
|
@ -8,9 +8,11 @@ class GroupeGestionnaire::GroupeGestionnaireListCommentaires::CommentaireCompone
|
|||
|
||||
def email
|
||||
if @commentaire.sender == current_gestionnaire
|
||||
"Messages avec le groupe gestionnaire parent (#{@groupe_gestionnaire.parent.name})"
|
||||
else
|
||||
"Messages avec le groupe gestionnaire parent"
|
||||
elsif @commentaire.groupe_gestionnaire_id.in?([@groupe_gestionnaire.parent_id, @groupe_gestionnaire.id])
|
||||
@commentaire.sender_email
|
||||
else
|
||||
"#{@commentaire.sender_email} (#{@commentaire.groupe_gestionnaire.name})"
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -24,10 +26,6 @@ class GroupeGestionnaire::GroupeGestionnaireListCommentaires::CommentaireCompone
|
|||
class: 'fr-btn'
|
||||
end
|
||||
|
||||
def groupe_gestionnaire_name
|
||||
@commentaire.groupe_gestionnaire.name
|
||||
end
|
||||
|
||||
def highlight?
|
||||
commentaire_seen_at = current_gestionnaire.commentaire_seen_at(@groupe_gestionnaire, @commentaire.sender_id, @commentaire.sender_type)
|
||||
commentaire_seen_at.nil? || commentaire_seen_at < @commentaire.created_at
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
%tr{ id: dom_id(@commentaire) }
|
||||
%td
|
||||
= groupe_gestionnaire_name
|
||||
%td
|
||||
= email
|
||||
- if highlight?
|
||||
|
|
|
@ -9,6 +9,9 @@ module Gestionnaires
|
|||
.select("sender_id, sender_type, sender_email, groupe_gestionnaire_id, MAX(id) as id, MAX(created_at) as created_at")
|
||||
.group(:sender_id, :sender_type, :sender_email, :groupe_gestionnaire_id)
|
||||
.order("MAX(id) DESC")
|
||||
@commentaires_parent_group = @commentaires.filter { |commentaire| commentaire.groupe_gestionnaire_id == @groupe_gestionnaire.parent_id }
|
||||
@commentaires_children_groups = @commentaires.filter { |commentaire| commentaire.groupe_gestionnaire_id != @groupe_gestionnaire.parent_id && commentaire.groupe_gestionnaire_id != @groupe_gestionnaire.id }
|
||||
@commentaires = @commentaires.filter { |commentaire| commentaire.groupe_gestionnaire_id == @groupe_gestionnaire.id }
|
||||
end
|
||||
|
||||
def show
|
||||
|
|
|
@ -5,11 +5,9 @@
|
|||
= t('show', scope: [:layouts, :breadcrumb])
|
||||
.fr-collapse#breadcrumb-1
|
||||
%ol.fr-breadcrumb__list
|
||||
%li= link_to t('root', scope: [:layouts, :breadcrumb]), root_path, class: 'fr-breadcrumb__link'
|
||||
- steps.each.with_index do |step, i|
|
||||
- if i == steps.size - 1
|
||||
%li{ aria: { current: "page" } }
|
||||
%span.fr-breadcrumb__link= step[0]
|
||||
%li= link_to step[0], '', { aria: { current: "page" } , class: 'fr-breadcrumb__link' }
|
||||
- else
|
||||
%li= link_to step[0], step[1], class: 'fr-breadcrumb__link'
|
||||
- if defined?(metadatas)
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
%table.fr-table.width-100.mt-3
|
||||
%thead
|
||||
%tr
|
||||
%th= 'Adresse email'
|
||||
%th= 'Dernier message'
|
||||
%th
|
||||
%tbody#commentaires
|
||||
= render(GroupeGestionnaire::GroupeGestionnaireListCommentaires::CommentaireComponent.with_collection(commentaires, groupe_gestionnaire: groupe_gestionnaire))
|
|
@ -6,19 +6,25 @@
|
|||
.container
|
||||
%h1 Messagerie de « #{@groupe_gestionnaire.name} »
|
||||
|
||||
%table.fr-table.width-100.mt-3
|
||||
%thead
|
||||
%tr
|
||||
%th= 'Groupe gestionnaire'
|
||||
%th= 'Adresse email'
|
||||
%th= 'Dernier message'
|
||||
%th
|
||||
%tbody#commentaires
|
||||
= render(GroupeGestionnaire::GroupeGestionnaireListCommentaires::CommentaireComponent.with_collection(@commentaires, 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= @groupe_gestionnaire.parent.name
|
||||
%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'
|
||||
= render partial: 'list_commentaires', locals: { commentaires: @commentaires, groupe_gestionnaire: @groupe_gestionnaire }
|
||||
|
||||
- if @commentaires_children_groups.present?
|
||||
%h5 Messagerie des groupes enfants
|
||||
= render partial: 'list_commentaires', locals: { commentaires: @commentaires_children_groups, groupe_gestionnaire: @groupe_gestionnaire }
|
||||
|
||||
- if @groupe_gestionnaire.parent_id
|
||||
%h5 Messagerie du groupe parent « #{@groupe_gestionnaire.parent.name} »
|
||||
- if @commentaires_parent_group.present?
|
||||
= render partial: 'list_commentaires', locals: { commentaires: @commentaires_parent_group, groupe_gestionnaire: @groupe_gestionnaire }
|
||||
- else
|
||||
%table.fr-table.width-100.mt-3
|
||||
%thead
|
||||
%tr
|
||||
%th= 'Adresse email'
|
||||
%th= 'Dernier message'
|
||||
%th
|
||||
%tr
|
||||
%td= "Messages avec le groupe gestionnaire parent"
|
||||
%td
|
||||
%td
|
||||
= link_to 'Voir', parent_groupe_gestionnaire_gestionnaire_groupe_gestionnaire_commentaires_path(@groupe_gestionnaire), class: 'fr-btn'
|
||||
|
|
|
@ -15,6 +15,8 @@
|
|||
Nombre de gestionnaires
|
||||
%th{ scope: "col" }
|
||||
Nombre d'administrateurs
|
||||
%th{ scope: "col" }
|
||||
Arborescence
|
||||
|
||||
%tbody
|
||||
- @groupe_gestionnaires.order(:name).each do |groupe_gestionnaire|
|
||||
|
@ -25,3 +27,5 @@
|
|||
= groupe_gestionnaire.gestionnaire_ids.size
|
||||
%td
|
||||
= groupe_gestionnaire.administrateur_ids.size
|
||||
%td
|
||||
= link_to 'Voir', tree_structure_gestionnaire_groupe_gestionnaire_path(groupe_gestionnaire), class: 'fr-btn'
|
||||
|
|
|
@ -7,6 +7,9 @@
|
|||
%h1 Arborescence de « #{@groupe_gestionnaire.name} »
|
||||
|
||||
.fr-mt-4w
|
||||
- if @groupe_gestionnaire.parent_id
|
||||
%ul
|
||||
%li= @groupe_gestionnaire.parent.name
|
||||
%ul
|
||||
- @tree_structure.each do |parent, children|
|
||||
%li
|
||||
|
|
Loading…
Reference in a new issue