Merge pull request #6288 from betagouv/fix-csv-import

Fixe l'encoding de l'import CSV groupes instructeurs
This commit is contained in:
Kara Diaby 2021-06-21 14:22:22 +02:00 committed by GitHub
commit 7c64435b33
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 2 additions and 2 deletions

View file

@ -170,7 +170,7 @@ module NewAdministrateur
redirect_to admin_procedure_groupe_instructeurs_path(procedure)
else
groupes_emails = CSV.new(group_csv_file.read, headers: true, header_converters: :downcase)
groupes_emails = CSV.new(group_csv_file.read.force_encoding("UTF-8"), headers: true, header_converters: :downcase)
.map { |r| r.to_h.slice('groupe', 'email') }
add_instructeurs_and_get_errors = InstructeursImportService.import(procedure, groupes_emails)

View file

@ -6,7 +6,7 @@ class InstructeursImportService
admins = procedure.administrateurs
groupes_emails, error_groupe_emails = groupes_emails
.map { |groupe_email| { "groupe" => groupe_email["groupe"].strip, "email" => groupe_email["email"].gsub(/[[:space:]]/, '').downcase } }
.map { |groupe_email| { "groupe" => groupe_email["groupe"].present? ? groupe_email["groupe"].strip : nil, "email" => groupe_email["email"].present? ? groupe_email["email"].gsub(/[[:space:]]/, '').downcase : nil } }
.partition { |groupe_email| Devise.email_regexp.match?(groupe_email['email']) && groupe_email['groupe'].present? }
errors = error_groupe_emails.map { |group_email| group_email['email'] }