demarches-normaliennes/app/views/administrateurs/groupe_instructeurs/_instructeurs.html.haml

57 lines
2.8 KiB
Text
Raw Normal View History

.card
= render Procedure::InvitationWithTypoComponent.new(maybe_typos: @maybe_typos, url: add_instructeur_admin_procedure_groupe_instructeur_path(@procedure, groupe_instructeur.id), title: "Avant d'ajouter l'email, veuillez confirmer" )
.card-title= t('.instructeur_assignation')
= form_for :instructeur, url: { action: :add_instructeur, id: groupe_instructeur.id }, html: { class: 'form' } do |f|
.instructeur-wrapper
2022-11-04 10:10:57 +01:00
- if !procedure.routing_enabled?
%p= t('.instructeur_emails')
%p.fr-hint-text= t('.copy_paste_hint')
- if disabled_as_super_admin
= f.select :emails, available_instructeur_emails, {}, disabled: disabled_as_super_admin, id: 'instructeur_emails'
- else
2024-05-15 23:16:55 +02:00
%react-fragment
= render ReactComponent.new 'ComboBox/MultiComboBox', items: available_instructeur_emails, id: 'instructeur_emails', name: 'emails[]', allows_custom_value: true, 'aria-label': 'Emails'
= f.submit t('.assign'), class: 'fr-btn fr-btn--tertiary', disabled: disabled_as_super_admin
%hr.fr-mt-4w
.flex.justify-between.align-baseline
.card-title= t('.assigned_instructeur', count: instructeurs.total_count)
= button_to export_groupe_instructeurs_admin_procedure_groupe_instructeurs_path(procedure, format: :csv), method: :get, class: 'fr-btn fr-btn--tertiary fr-btn--icon-left fr-icon-download-line' do
Exporter la liste (.CSV)
.fr-table
.fr-table__wrapper
.fr-table__container
.fr-table__content
%table
%thead
%tr
%th{ scope: 'col' }= t('.title')
%th{ scope: 'col' }= t('.actions')
%tbody
- instructeurs.each do |instructeur|
%tr
%td
= dsfr_icon('fr-icon-user-line')
#{instructeur.email}
- confirmation_message = procedure.routing_enabled? ? "Êtes-vous sûr de vouloir retirer linstructeur « #{instructeur.email} » du groupe « #{groupe_instructeur.label} » ?" : "Êtes-vous sûr de vouloir retirer linstructeur « #{instructeur.email} » de la démarche ?"
%td.actions= button_to t('.remove'),
{ action: :remove_instructeur, id: groupe_instructeur.id },
{ method: :delete,
data: { confirm: confirmation_message },
params: { instructeur: { id: instructeur.id }},
class: 'fr-btn fr-btn--sm fr-btn--secondary fr-btn--icon-left fr-icon-subtract-line' }
.fr-table__footer
.fr-table__footer--start
%p.fr-table__detail
= number_with_delimiter instructeurs.total_count
= t('activerecord.models.instructeur', count: instructeurs.total_count).downcase
.fr-table__footer--middle
= paginate instructeurs, views_prefix: 'shared'