feat: remove commentaire_component and replace it by message_component + replace commentaires/_form by messages/_form + few fixes
This commit is contained in:
parent
f5f94d9e52
commit
9ddd55d5cd
32 changed files with 331 additions and 340 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, commentaire_seen_at: @commentaire_seen_at))
|
||||
= render partial: "shared/groupe_gestionnaires/commentaires/form", locals: { commentaire: @commentaire, form_url: admin_groupe_gestionnaire_create_commentaire_path }
|
||||
= render(Dossiers::MessageComponent.new(commentaire: commentaire, connected_user: current_administrateur, messagerie_seen_at: @commentaire_seen_at, groupe_gestionnaire: @groupe_gestionnaire))
|
||||
= render partial: "shared/dossiers/messages/form", locals: { commentaire: @commentaire, form_url: admin_groupe_gestionnaire_create_commentaire_path }
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
data: { turbo: true, turbo_force: :server } do |f|
|
||||
.fr-input-group
|
||||
= f.label :email, class: "fr-label" do
|
||||
Ajouter un groupe enfants
|
||||
Ajouter un groupe enfant
|
||||
%span.fr-hint-text
|
||||
= "Renseignez le nom du nouveau groupe enfants de « #{groupe_gestionnaire.name} »."
|
||||
= "Renseignez le nom du nouveau groupe enfant de « #{groupe_gestionnaire.name} »."
|
||||
|
||||
= f.text_field :name, required: true, class: "fr-input", autofocus: true
|
||||
|
||||
|
|
|
@ -7,16 +7,16 @@
|
|||
.container
|
||||
%h1 Gérer les groupes enfants de « #{@groupe_gestionnaire.name} »
|
||||
|
||||
.fr-mt-4w
|
||||
= link_to 'Afficher l’arborescence', tree_structure_gestionnaire_groupe_gestionnaire_path(@groupe_gestionnaire)
|
||||
|
||||
.fr-mt-4w
|
||||
= render 'add_child_form', groupe_gestionnaire: @groupe_gestionnaire
|
||||
|
||||
%table.table
|
||||
%thead
|
||||
%tr
|
||||
%th= 'Nom'
|
||||
%th= 'Enregistré le'
|
||||
%tbody#children
|
||||
= render(GroupeGestionnaire::GroupeGestionnaireChildren::ChildComponent.with_collection(@groupe_gestionnaire.children, groupe_gestionnaire: @groupe_gestionnaire))
|
||||
|
||||
.fr-mt-4w
|
||||
= link_to 'Afficher l’arborescence', tree_structure_gestionnaire_groupe_gestionnaire_path(@groupe_gestionnaire)
|
||||
|
||||
.fr-mt-4w
|
||||
= render 'add_child_form', groupe_gestionnaire: @groupe_gestionnaire
|
||||
= render(GroupeGestionnaire::GroupeGestionnaireChildren::ChildComponent.with_collection(@groupe_gestionnaire.children.order(:name), groupe_gestionnaire: @groupe_gestionnaire))
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
- if @last_commentaire.discarded?
|
||||
= turbo_stream.update @last_commentaire do
|
||||
= render(GroupeGestionnaire::GroupeGestionnaireCommentaires::CommentaireComponent.new(commentaire: @last_commentaire, connected_user: current_gestionnaire, commentaire_seen_at: @commentaire_seen_at))
|
||||
= render(Dossiers::MessageComponent.new(commentaire: @last_commentaire, connected_user: current_gestionnaire, messagerie_seen_at: @commentaire_seen_at, groupe_gestionnaire: @groupe_gestionnaire))
|
||||
|
|
|
@ -6,20 +6,19 @@
|
|||
.container
|
||||
%h1 Messagerie de « #{@groupe_gestionnaire.name} »
|
||||
|
||||
%table.table
|
||||
%table.fr-table.width-100.mt-3
|
||||
%thead
|
||||
%tr
|
||||
%th= 'Groupe gestionnaire'
|
||||
%th= 'Adresse email'
|
||||
%th= 'Dernier message'
|
||||
%th
|
||||
%tbody#commentaires
|
||||
- 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))
|
||||
= 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 fr-btn--sm fr-btn--tertiary'
|
||||
= link_to 'Voir', parent_groupe_gestionnaire_gestionnaire_groupe_gestionnaire_commentaires_path(@groupe_gestionnaire), class: 'fr-btn'
|
||||
|
|
|
@ -11,5 +11,5 @@
|
|||
%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) }
|
||||
= render(Dossiers::MessageComponent.new(commentaire: commentaire, connected_user: current_gestionnaire, messagerie_seen_at: @commentaire_seen_at, groupe_gestionnaire: @groupe_gestionnaire))
|
||||
= render partial: "shared/dossiers/messages/form", locals: { commentaire: @commentaire, form_url: create_parent_groupe_gestionnaire_gestionnaire_groupe_gestionnaire_commentaires_path(@groupe_gestionnaire) }
|
||||
|
|
|
@ -10,6 +10,6 @@
|
|||
%ul.messages-list{ data: { controller: 'scroll-to' } }
|
||||
- @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))
|
||||
= render(Dossiers::MessageComponent.new(commentaire: commentaire, connected_user: current_gestionnaire, messagerie_seen_at: @commentaire_seen_at, groupe_gestionnaire: @groupe_gestionnaire))
|
||||
- if @last_commentaire.sender
|
||||
= render partial: "shared/groupe_gestionnaires/commentaires/form", locals: { commentaire: @commentaire, form_url: gestionnaire_groupe_gestionnaire_commentaires_path(@groupe_gestionnaire) }
|
||||
= render partial: "shared/dossiers/messages/form", locals: { commentaire: @commentaire, form_url: gestionnaire_groupe_gestionnaire_commentaires_path(@groupe_gestionnaire), last_commentaire: @last_commentaire }
|
||||
|
|
|
@ -11,9 +11,17 @@
|
|||
%tr
|
||||
%th{ scope: "col" }
|
||||
Nom
|
||||
%th{ scope: "col" }
|
||||
Nombre de gestionnaires
|
||||
%th{ scope: "col" }
|
||||
Nombre d'administrateurs
|
||||
|
||||
%tbody
|
||||
- @groupe_gestionnaires.each do |groupe_gestionnaire|
|
||||
- @groupe_gestionnaires.order(:name).each do |groupe_gestionnaire|
|
||||
%tr
|
||||
%td
|
||||
= link_to groupe_gestionnaire.name, gestionnaire_groupe_gestionnaire_path(groupe_gestionnaire)
|
||||
%td
|
||||
= groupe_gestionnaire.gestionnaire_ids.size
|
||||
%td
|
||||
= groupe_gestionnaire.administrateur_ids.size
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
= t('views.gestionnaires.groupe_gestionnaires.delete')
|
||||
|
||||
.fr-container
|
||||
%h2= "Gestion du groupe gestionnaire \"#{@groupe_gestionnaire.name}\""
|
||||
%h2= "Gestion du groupe \"#{@groupe_gestionnaire.name}\""
|
||||
- if @groupe_gestionnaire.groupe_gestionnaire_id.present?
|
||||
%p
|
||||
groupe parent :
|
||||
|
|
|
@ -1,17 +1,19 @@
|
|||
= render NestedForms::FormOwnerComponent.new
|
||||
= form_for(commentaire, url: form_url, html: { multipart: true, data: { controller: 'persisted-form', persisted_form_key_value: dom_id(@dossier) } }) do |f|
|
||||
- dossier = commentaire.dossier
|
||||
= form_for(commentaire, url: form_url, html: { multipart: local_assigns.has_key?(:dossier), data: { controller: 'persisted-form', persisted_form_key_value: dom_id(local_assigns.fetch(:dossier, local_assigns.fetch(:last_commentaire, current_user))) } }) do |f|
|
||||
- placeholder = t('views.shared.dossiers.messages.form.write_message_to_administration_placeholder')
|
||||
- if instructeur_signed_in? || administrateur_signed_in? || expert_signed_in?
|
||||
- if local_assigns.has_key?(:last_commentaire)
|
||||
= f.hidden_field :last_commentaire, value: last_commentaire.id, name: :id
|
||||
- elsif local_assigns.has_key?(:dossier) && instructeur_signed_in? || administrateur_signed_in? || expert_signed_in?
|
||||
- placeholder = t('views.shared.dossiers.messages.form.write_message_placeholder')
|
||||
%p.mandatory-explanation= t('asterisk_html', scope: [:utils])
|
||||
|
||||
= render Dsfr::InputComponent.new(form: f, attribute: :body, input_type: :text_area, opts: { rows: 5, placeholder: placeholder, title: placeholder, class: 'fr-input message-textarea'})
|
||||
|
||||
.fr-mt-3w{ data: { controller: "file-input-reset" } }
|
||||
= render Attachment::EditComponent.new(attached_file: commentaire.piece_jointe)
|
||||
%button.hidden.fr-btn.fr-btn--tertiary-no-outline.fr-btn--icon-left.fr-icon-delete-line{ data: { 'file-input-reset-target': 'reset', action: 'file-input-reset#reset' } }
|
||||
= t('views.shared.messages.remove_file')
|
||||
- if local_assigns.has_key?(:dossier)
|
||||
.fr-mt-3w{ data: { controller: "file-input-reset" } }
|
||||
= render Attachment::EditComponent.new(attached_file: commentaire.piece_jointe)
|
||||
%button.hidden.fr-btn.fr-btn--tertiary-no-outline.fr-btn--icon-left.fr-icon-delete-line{ data: { 'file-input-reset-target': 'reset', action: 'file-input-reset#reset' } }
|
||||
= t('views.shared.messages.remove_file')
|
||||
|
||||
.fr-mt-3w
|
||||
= f.submit t('views.shared.dossiers.messages.form.send_message'), class: 'fr-btn', data: { disable: true }
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
= render NestedForms::FormOwnerComponent.new
|
||||
= form_for(commentaire, url: form_url) do |f|
|
||||
- if @last_commentaire
|
||||
= f.hidden_field :last_commentaire, value: @last_commentaire.id, name: :id
|
||||
%p.mandatory-explanation= t('asterisk_html', scope: [:utils])
|
||||
|
||||
= render Dsfr::InputComponent.new(form: f, attribute: :body, input_type: :text_area, opts: { rows: 5, placeholder: t('views.gestionnaires.groupe_gestionnaires.messages.form.write_message_placeholder'), title: t('views.gestionnaires.groupe_gestionnaires.messages.form.write_message_placeholder'), class: 'fr-input message-textarea'})
|
||||
|
||||
.fr-mt-3w
|
||||
= f.submit t('views.gestionnaires.groupe_gestionnaires.messages.form.send_message'), class: 'fr-btn', data: { disable: true }
|
Loading…
Add table
Add a link
Reference in a new issue