feat(instructeurs management): can export instructeurs if procedure not routed

This commit is contained in:
Eric Leroy-Terquem 2024-09-25 12:05:33 +02:00
parent ec2f7c2405
commit 1f6d76a4dd
No known key found for this signature in database
GPG key ID: 53D8FAECEF207605
7 changed files with 22 additions and 22 deletions

View file

@ -1,7 +1,7 @@
- content_for(:title, 'Ajout de groupes')
%h1 Ajout de groupes d'instructeurs
= render partial: 'administrateurs/groupe_instructeurs/import_export',
= render partial: 'administrateurs/groupe_instructeurs/import',
locals: { procedure: @procedure }
%section

View file

@ -2,7 +2,7 @@
%h1.fr-h2= t('.title')
.fr-icon-mail-line.fr-alert.fr-mb-3w
%p= t('.notification_alert')
= render partial: 'administrateurs/groupe_instructeurs/import_export',
= render partial: 'administrateurs/groupe_instructeurs/import',
locals: { procedure: @procedure, template_url:, template_detail: }
= render partial: 'administrateurs/groupe_instructeurs/instructeurs',

View file

@ -1,7 +1,7 @@
%div{ id: dom_id(@groupe_instructeur, :routing) }
%h1 Paramètres du groupe
= render partial: 'administrateurs/groupe_instructeurs/import_export',
= render partial: 'administrateurs/groupe_instructeurs/import',
locals: { procedure: @procedure }
= form_for @groupe_instructeur,

View file

@ -20,13 +20,4 @@
= template_detail
.flex.column
= file_field_tag :csv_file, required: true, accept: 'text/csv', size: "1", class: 'fr-mb-2w'
= submit_tag t('.csv_import.import_file'), class: 'fr-btn fr-btn--secondary', data: { disable_with: "Envoi...", confirm: t('.csv_import.import_file_alert') }
- if procedure.groupe_instructeurs.many?
.flex.justify-between.align-center.mt-4
%div
= t(".existing_groupe", count: procedure.groupe_instructeurs.count)
= button_to "Exporter au format CSV",
export_groupe_instructeurs_admin_procedure_groupe_instructeurs_path(procedure, format: :csv),
method: :get,
class: 'fr-btn fr-btn--secondary'
= submit_tag t('.csv_import.import_file'), class: 'fr-btn fr-btn--tertiary', data: { disable_with: "Envoi...", confirm: t('.csv_import.import_file_alert') }

View file

@ -14,12 +14,19 @@
%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', disabled: disabled_as_super_admin
= f.submit t('.assign'), class: 'fr-btn fr-btn--tertiary', disabled: disabled_as_super_admin
%table.fr-table.fr-mt-2w.width-100
%hr.fr-mt-4w
.flex.justify-between.align-baseline
.card-title= t('.assigned_instructeur', count: instructeurs.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)
%table.fr-table.width-100
%thead
%tr
%th{ colspan: 2 }= t('.assigned_instructeur', count: instructeurs.count)
%th{ colspan: 2 }= t('.instructeurs_title')
%tbody
- instructeurs.each do |instructeur|
%tr

View file

@ -22,14 +22,15 @@ en:
instructeurs:
title: Instructors
assigned_instructeur:
one: "%{count} instructor is assigned"
other: "%{count} instructors are assigned"
one: "%{count} instructor assigned"
other: "%{count} instructors assigned"
instructeur_assignation: Instructors assignment
assign: Assign
remove: Remove
instructeur_emails: Email addresses of the instructors you want to assign to this procedure
copy_paste_hint: "You can enter addresses individually, or copy-paste a list of addresses separated by semicolons into the field below (example: adress1@mail.com; adress2@mail.com; adress3@mail.com)."
import_export:
actions: Remove
import:
csv_import:
import_file: Import file
import_file_alert: All instructors added to the procedure will be notified by email. Do you want to continue?

View file

@ -29,14 +29,15 @@ fr:
instructeurs:
title: Instructeurs
assigned_instructeur:
one: "%{count} instructeur est affecté"
other: "%{count} instructeurs sont affectés"
one: "%{count} instructeur affecté"
other: "%{count} instructeurs affectés"
instructeur_assignation: Affectation des instructeurs
assign: Affecter
remove: Retirer
instructeur_emails: Adresse électronique des instructeurs que vous souhaitez affecter à cette démarche
copy_paste_hint: "Vous pouvez saisir les adresses individuellement, ou bien copier-coller dans le champ ci-dessous une liste dadresses séparées par des points-virgules (exemple : adresse1@mail.com; adresse2@mail.com; adresse3@mail.com)."
import_export:
actions: Retirer
import:
csv_import:
import_file: Importer le fichier
import_file_alert: Tous les instructeurs ajoutés à la procédure vont être notifiés par email. Voulez-vous continuer ?