add typo detection and suggestion for admin adding instructeurs
This commit is contained in:
parent
c8906d20b8
commit
f163c04da6
2 changed files with 18 additions and 6 deletions
|
@ -1,6 +1,7 @@
|
|||
module Administrateurs
|
||||
class GroupeInstructeursController < AdministrateurController
|
||||
include ActiveSupport::NumberHelper
|
||||
include EmailSanitizableConcern
|
||||
include Logic
|
||||
include UninterlacePngConcern
|
||||
include GroupeInstructeursSignatureConcern
|
||||
|
@ -219,18 +220,20 @@ module Administrateurs
|
|||
|
||||
def add_instructeur
|
||||
emails = params['emails'].presence || [].to_json
|
||||
emails = JSON.parse(emails).map { EmailSanitizableConcern::EmailSanitizer.sanitize(_1) }
|
||||
|
||||
emails = check_if_typo(emails)
|
||||
errors = Array.wrap(generate_emails_suggestions_message(@maybe_typos))
|
||||
|
||||
instructeurs, invalid_emails = groupe_instructeur.add_instructeurs(emails:)
|
||||
|
||||
if invalid_emails.present?
|
||||
flash[:alert] = t('.wrong_address',
|
||||
errors += [t('.wrong_address',
|
||||
count: invalid_emails.size,
|
||||
emails: invalid_emails.join(', '))
|
||||
emails: invalid_emails.join(', '))]
|
||||
end
|
||||
|
||||
if instructeurs.present?
|
||||
flash[:notice] = if procedure.routing_enabled?
|
||||
flash.now[:notice] = if procedure.routing_enabled?
|
||||
t('.assignment',
|
||||
count: instructeurs.size,
|
||||
emails: instructeurs.map(&:email).join(', '),
|
||||
|
@ -250,10 +253,18 @@ module Administrateurs
|
|||
end
|
||||
end
|
||||
|
||||
flash.now[:alert] = errors.join(". ") if !errors.empty?
|
||||
|
||||
@procedure = procedure
|
||||
@instructeurs = paginated_instructeurs
|
||||
@available_instructeur_emails = available_instructeur_emails
|
||||
|
||||
if procedure.routing_enabled?
|
||||
redirect_to admin_procedure_groupe_instructeur_path(procedure, groupe_instructeur)
|
||||
@groupe_instructeur = groupe_instructeur
|
||||
render :show
|
||||
else
|
||||
redirect_to admin_procedure_groupe_instructeurs_path(procedure)
|
||||
@groupes_instructeurs = paginated_groupe_instructeurs
|
||||
render :index
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
|
||||
.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 Affectation des instructeurs
|
||||
= form_for :instructeur, url: { action: :add_instructeur, id: groupe_instructeur.id }, html: { class: 'form' } do |f|
|
||||
.instructeur-wrapper
|
||||
|
|
Loading…
Reference in a new issue