add import export view

This commit is contained in:
simon lehericey 2023-04-26 17:33:49 +02:00 committed by LeSim
parent 01caa498d3
commit 2e1b8b9ef2
3 changed files with 73 additions and 18 deletions

View file

@ -0,0 +1,28 @@
- key = @procedure.groupe_instructeurs.one? ? 'instructeurs' : 'groupes'
%section.fr-accordion.fr-mb-3w
%h3.fr-accordion__title
%button.fr-accordion__btn{ "aria-controls" => "accordion-106", "aria-expanded" => "false" }
= t(".csv_import.#{key}.title")
.fr-collapse#accordion-106
- csv_max_size = Administrateurs::GroupeInstructeursController::CSV_MAX_SIZE
- if procedure.publiee_or_close?
%p.notice
= t(".csv_import.#{key}.notice_1_html", csv_max_size: number_to_human_size(csv_max_size))
%p.notice
= t(".csv_import.#{key}.notice_2")
= form_tag import_admin_procedure_groupe_instructeurs_path(@procedure), method: :post, multipart: true, class: "mt-4 form flex justify-between align-center" do
= file_field_tag :csv_file, required: true, accept: 'text/csv', size: "1"
= submit_tag t('.csv_import.import_file'), class: 'fr-btn fr-btn--secondary', data: { disable_with: "Envoi...", confirm: t('.csv_import.import_file_alert') }
- else
%p.mt-4.form.font-weight-bold.mb-2.text-lg
= t(".csv_import.#{key}.title")
%p.notice
= t('.csv_import.import_file_procedure_not_published')
- if groupe_instructeurs.many?
.flex.justify-between.align-center.mt-4
%div
= t(".existing_groupe", count: groupe_instructeurs.total_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'

View file

@ -24,6 +24,29 @@ en:
assigned_instructeur:
one: "%{count} instructor is assigned"
other: "%{count} instructors are assigned"
import_export:
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 ?
import_file_procedure_not_published: Limport par fichier CSV est disponible une fois la démarche publiée
groupes:
title: Import / Export en masse
notice_1_html: Pour l'import, votre fichier csv doit comporter 2 colonnes (Groupe, Email) et être séparé par des virgules (<a href=/csv/fr/import-groupe-test.csv>exemple de fichier</a>). Le poids du fichier doit être inférieur %{csv_max_size}.
notice_2: Limport nécrase pas les groupes existants. Il permet uniquement d'en ajouter. Pour supprimer un groupe, allez dans la page dédiée et cliquez sur le bouton « Supprimer ».
instructeurs:
title: Import en masse
notice_1_html: Pour l'import, le fichier csv doit comporter 1 seule colonne (Email) avec une adresse email d'instructeur par ligne (<a href=/csv/import-instructeurs-test.csv>exemple de fichier</a>). Le poids du fichier doit être inférieur %{csv_max_size}.
notice_2: Limport nécrase pas les instructeurs existants. Il permet uniquement d'en ajouter. Pour supprimer un instructeur, cliquez sur le bouton « Retirer ».
existing_groupe:
one: "%{count} groupe existe"
other: "%{count} groupes existent"
groupe:
one: "%{count} groupe"
other: "%{count} groupes"
found:
one: "trouvé"
other: "trouvés"
edit:
routing:
title: Label of the groups list
@ -39,16 +62,6 @@ en:
add_a_group:
title: Add a group
notice: This group will be a choice from the list "%{routing_criteria_name}"
csv_import:
title: CSV Import
notice_1_html: The csv file must have 1 column with instructors emails(%{instructeurs_link}). For routed procedures, the csv file must have 2 columns (Group, Email) and be separated by commas (%{groupes_link}). The import does not overwrite existing groups and instructors.
notice_2: The size of the file must be less than %{csv_max_size}.
import_file: Import file
import_file_procedure_not_published: The import of instructors by CSV file is available once the process has been published
import_file_alert: Instructors added to the procedure will receive an email. Are you sure you want to continue ?"
link_text: file example
instructeurs_file_path: /csv/import-instructeurs-test.csv
groupes_file_path: /csv/en/import-groupe-test.csv
set_up: set up
button:
add_group: Add group

View file

@ -30,6 +30,28 @@ fr:
assigned_instructeur:
one: "%{count} instructeur est affecté"
other: "%{count} instructeurs sont affectés"
import_export:
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 ?
import_file_procedure_not_published: Limport par fichier CSV est disponible une fois la démarche publiée
groupes:
title: Import / Export en masse
notice_1_html: Pour l'import, votre fichier csv doit comporter 2 colonnes (Groupe, Email) et être séparé par des virgules (<a href=/csv/fr/import-groupe-test.csv>exemple de fichier</a>). Le poids du fichier doit être inférieur %{csv_max_size}.
notice_2: Limport nécrase pas les groupes existants. Il permet uniquement d'en ajouter. Pour supprimer un groupe, allez dans la page dédiée et cliquez sur le bouton « Supprimer ».
instructeurs:
title: Import en masse
notice_1_html: Pour l'import, le fichier csv doit comporter 1 seule colonne (Email) avec une adresse email d'instructeur par ligne (<a href=/csv/import-instructeurs-test.csv>exemple de fichier</a>). Le poids du fichier doit être inférieur %{csv_max_size}.
notice_2: Limport nécrase pas les instructeurs existants. Il permet uniquement d'en ajouter. Pour supprimer un instructeur, cliquez sur le bouton « Retirer ».
existing_groupe:
one: "%{count} groupe existe"
other: "%{count} groupes existent"
groupe:
one: "%{count} groupe"
other: "%{count} groupes"
found:
one: "trouvé"
other: "trouvés"
edit:
routing:
title: Libellé de la liste de groupes
@ -46,14 +68,6 @@ fr:
title: Ajouter un nom de groupe
notice: Ce groupe sera un choix de la liste "%{routing_criteria_name}"
csv_import:
title: Importer par CSV
notice_1_html: |
Pour une procédure standard, le fichier csv doit comporter 1 seule colonne (Email) avec une adresse email d'instructeur par ligne (%{instructeurs_link}).
Pour une procédure routée, le fichier doit comporter 2 colonnes (Groupe, Email) et être séparé par des virgules (%{groupes_link}).
notice_2: Limport nécrase pas les instructeurs existants. Il permet uniquement d'en ajouter. Pour supprimer un instructeur, cliquez sur le bouton « retirer ». Le poids du fichier doit être inférieur %{csv_max_size}.
import_file: Importer le fichier
import_file_procedure_not_published: Limport dinstructeurs par fichier CSV est disponible une fois la démarche publiée
import_file_alert: Tous les instructeurs ajoutés à la procédure vont être informés par email. Voulez-vous continuer ?
link_text: exemple de fichier
instructeurs_file_path: /csv/import-instructeurs-test.csv
groupes_file_path: /csv/fr/import-groupe-test.csv