20 lines
921 B
Ruby
20 lines
921 B
Ruby
class GroupeGestionnaire::Card::CommentairesComponent < ApplicationComponent
|
|
def initialize(groupe_gestionnaire:, administrateur:, path:, unread_commentaires: nil)
|
|
@groupe_gestionnaire = groupe_gestionnaire
|
|
@administrateur = administrateur
|
|
@path = path
|
|
@unread_commentaires = unread_commentaires
|
|
end
|
|
|
|
def number_commentaires
|
|
if @administrateur
|
|
@administrateur.commentaire_groupe_gestionnaires.size
|
|
else
|
|
commentaires = @groupe_gestionnaire.current_commentaires_groupe_and_children_commentaires_groupe
|
|
if @groupe_gestionnaire.parent_id && !current_gestionnaire.groupe_gestionnaires.exists?(id: @groupe_gestionnaire.parent_id)
|
|
commentaires = commentaires.or(CommentaireGroupeGestionnaire.where(groupe_gestionnaire_id: @groupe_gestionnaire.id, sender: current_gestionnaire))
|
|
end
|
|
commentaires.select(:sender_id, :sender_type).distinct.size
|
|
end
|
|
end
|
|
end
|