demarches-normaliennes/app/components/groupe_gestionnaire/card/commentaires_component.rb

21 lines
921 B
Ruby
Raw Normal View History

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