refactor(combo): use new multicombobox
This commit is contained in:
parent
9f9243499c
commit
c17351e50a
15 changed files with 51 additions and 78 deletions
|
@ -9,8 +9,8 @@ module Administrateurs
|
|||
end
|
||||
|
||||
def create
|
||||
emails = params['emails'].presence || [].to_json
|
||||
emails = JSON.parse(emails).map { EmailSanitizer.sanitize(_1) }
|
||||
emails = params['emails'].presence || []
|
||||
emails = emails.map { EmailSanitizer.sanitize(_1) }
|
||||
@maybe_typos, no_suggestions = emails
|
||||
.map { |email| [email, EmailChecker.check(email:)[:suggestions]&.first] }
|
||||
.partition { _1[1].present? }
|
||||
|
|
|
@ -218,8 +218,8 @@ module Administrateurs
|
|||
end
|
||||
|
||||
def add_instructeur
|
||||
emails = params['emails'].presence || [].to_json
|
||||
emails = JSON.parse(emails).map { EmailSanitizableConcern::EmailSanitizer.sanitize(_1) }
|
||||
emails = params[:emails].presence || []
|
||||
emails = emails.map { EmailSanitizableConcern::EmailSanitizer.sanitize(_1) }
|
||||
|
||||
instructeurs, invalid_emails = groupe_instructeur.add_instructeurs(emails:)
|
||||
|
||||
|
|
|
@ -527,11 +527,10 @@ module Administrateurs
|
|||
:accuse_lecture,
|
||||
:api_entreprise_token,
|
||||
:duree_conservation_dossiers_dans_ds,
|
||||
{ zone_ids: [] },
|
||||
:lien_dpo,
|
||||
:opendata,
|
||||
:procedure_expires_when_termine_enabled,
|
||||
:tags
|
||||
{ zone_ids: [], tags: [] }
|
||||
]
|
||||
|
||||
editable_params << :piece_justificative_multiple if @procedure && !@procedure.piece_justificative_multiple?
|
||||
|
@ -544,9 +543,6 @@ module Administrateurs
|
|||
if permited_params[:auto_archive_on].present?
|
||||
permited_params[:auto_archive_on] = Date.parse(permited_params[:auto_archive_on]) + 1.day
|
||||
end
|
||||
if permited_params[:tags].present?
|
||||
permited_params[:tags] = JSON.parse(permited_params[:tags])
|
||||
end
|
||||
permited_params
|
||||
end
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ module CreateAvisConcern
|
|||
private
|
||||
|
||||
def create_avis_from_params(dossier, instructeur_or_expert, confidentiel = false)
|
||||
if create_avis_params[:emails].empty?
|
||||
if create_avis_params[:emails].blank?
|
||||
avis = Avis.new(create_avis_params)
|
||||
errors = avis.errors
|
||||
errors.add(:emails, :blank)
|
||||
|
@ -19,8 +19,8 @@ module CreateAvisConcern
|
|||
# the :emails parameter is a 1-element array.
|
||||
# Hence the call to first
|
||||
# https://github.com/rails/rails/issues/17225
|
||||
expert_emails = create_avis_params[:emails].presence || [].to_json
|
||||
expert_emails = JSON.parse(expert_emails).map(&:strip).map(&:downcase)
|
||||
expert_emails = create_avis_params[:emails].presence || []
|
||||
expert_emails = expert_emails.map(&:strip).map(&:downcase)
|
||||
allowed_dossiers = [dossier]
|
||||
|
||||
if create_avis_params[:invite_linked_dossiers].present?
|
||||
|
@ -84,6 +84,6 @@ module CreateAvisConcern
|
|||
end
|
||||
|
||||
def create_avis_params
|
||||
params.require(:avis).permit(:introduction_file, :introduction, :confidentiel, :invite_linked_dossiers, :emails, :question_label)
|
||||
params.require(:avis).permit(:introduction_file, :introduction, :confidentiel, :invite_linked_dossiers, :question_label, emails: [])
|
||||
end
|
||||
end
|
||||
|
|
|
@ -6,8 +6,8 @@ module Gestionnaires
|
|||
end
|
||||
|
||||
def create
|
||||
emails = [params.require(:administrateur)[:email]].to_json
|
||||
emails = JSON.parse(emails).map { EmailSanitizableConcern::EmailSanitizer.sanitize(_1) }
|
||||
emails = [params.require(:administrateur)[:email]].compact
|
||||
emails = emails.map { EmailSanitizableConcern::EmailSanitizer.sanitize(_1) }
|
||||
|
||||
administrateurs_to_add, valid_emails, invalid_emails = Administrateur.find_all_by_identifier_with_emails(emails:)
|
||||
not_found_emails = valid_emails - administrateurs_to_add.map(&:email)
|
||||
|
|
|
@ -6,8 +6,8 @@ module Gestionnaires
|
|||
end
|
||||
|
||||
def create
|
||||
emails = [params.require(:gestionnaire)[:email]].to_json
|
||||
emails = JSON.parse(emails).map { EmailSanitizableConcern::EmailSanitizer.sanitize(_1) }
|
||||
emails = [params.require(:gestionnaire)[:email]].compact
|
||||
emails = emails.map { EmailSanitizableConcern::EmailSanitizer.sanitize(_1) }
|
||||
|
||||
gestionnaires_to_add, valid_emails, invalid_emails = Gestionnaire.find_all_by_identifier_with_emails(emails:)
|
||||
not_found_emails = valid_emails - gestionnaires_to_add.map(&:email)
|
||||
|
|
|
@ -86,9 +86,9 @@ module Instructeurs
|
|||
end
|
||||
|
||||
def send_to_instructeurs
|
||||
recipients = params['recipients'].presence || [].to_json
|
||||
recipients = params['recipients'].presence || []
|
||||
# instructeurs are scoped by groupe_instructeur to avoid enumeration
|
||||
recipients = dossier.groupe_instructeur.instructeurs.where(id: JSON.parse(recipients))
|
||||
recipients = dossier.groupe_instructeur.instructeurs.where(id: recipients)
|
||||
|
||||
if recipients.present?
|
||||
recipients.each do |recipient|
|
||||
|
|
|
@ -2,8 +2,8 @@ module Manager
|
|||
class GroupeGestionnairesController < Manager::ApplicationController
|
||||
def add_gestionnaire
|
||||
groupe_gestionnaire = GroupeGestionnaire.find(params[:id])
|
||||
emails = [params['emails'].presence || ''].to_json
|
||||
emails = JSON.parse(emails).map { EmailSanitizableConcern::EmailSanitizer.sanitize(_1) }
|
||||
emails = [params['emails']].compact
|
||||
emails = emails.map { EmailSanitizableConcern::EmailSanitizer.sanitize(_1) }
|
||||
|
||||
gestionnaires_to_add, valid_emails, invalid_emails = Gestionnaire.find_all_by_identifier_with_emails(emails:)
|
||||
not_found_emails = valid_emails - gestionnaires_to_add.map(&:email)
|
||||
|
|
|
@ -111,8 +111,7 @@ module Manager
|
|||
end
|
||||
|
||||
def add_tags
|
||||
tags_h = { tags: JSON.parse(tags_params[:tags]) }
|
||||
if procedure.update(tags_h)
|
||||
if procedure.update(tags: tags_params[:tags])
|
||||
flash.notice = "Le modèle est mis à jour."
|
||||
else
|
||||
flash.alert = procedure.errors.full_messages.join(', ')
|
||||
|
@ -181,7 +180,7 @@ module Manager
|
|||
end
|
||||
|
||||
def tags_params
|
||||
params.require(:procedure).permit(:tags)
|
||||
params.require(:procedure).permit(tags: [])
|
||||
end
|
||||
|
||||
def template_params
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue