rend accessible l'envoi de dossier par un instructeur
en remplaçant select2 par ComboMultipleDropdownList
This commit is contained in:
parent
b8097e782a
commit
c855d13994
5 changed files with 9 additions and 12 deletions
|
@ -72,7 +72,7 @@ module Instructeurs
|
|||
end
|
||||
|
||||
def send_to_instructeurs
|
||||
recipients = Instructeur.find(params[:recipients])
|
||||
recipients = Instructeur.find(JSON.parse(params[:recipients]))
|
||||
|
||||
recipients.each do |recipient|
|
||||
recipient.follow(dossier)
|
||||
|
|
|
@ -8,9 +8,8 @@
|
|||
Le destinataire suivra automatiquement le dossier
|
||||
= form_for dossier, url: send_to_instructeurs_instructeur_dossier_path(dossier.procedure, dossier), method: :post, html: { class: 'form recipients-form' } do |f|
|
||||
.flex.justify-start.align-start
|
||||
= select_tag(:recipients,
|
||||
options_from_collection_for_select(potential_recipients, :id, :email),
|
||||
multiple: true,
|
||||
class: 'select2-limited',
|
||||
placeholder: '')
|
||||
- hidden_field_id = SecureRandom.uuid
|
||||
= hidden_field_tag :recipients, nil, data: { uuid: hidden_field_id }
|
||||
= react_component("ComboMultipleDropdownList", options: potential_recipients.map{|r| [r.email, r.id]}, selected: [], disabled: [], hiddenFieldId: hidden_field_id, label: "email instructeur")
|
||||
|
||||
= f.submit "Envoyer", class: "button large send gap-left"
|
||||
|
|
|
@ -38,7 +38,7 @@ describe Instructeurs::DossiersController, type: :controller do
|
|||
post(
|
||||
:send_to_instructeurs,
|
||||
params: {
|
||||
recipients: [recipient],
|
||||
recipients: [recipient.id].to_json,
|
||||
procedure_id: procedure.id,
|
||||
dossier_id: dossier.id
|
||||
}
|
||||
|
|
|
@ -128,10 +128,8 @@ feature 'Instructing a dossier:' do
|
|||
|
||||
click_on 'Personnes impliquées'
|
||||
|
||||
first('.select2-container', minimum: 1).click
|
||||
find('li.select2-results__option[role="option"]', text: instructeur_2.email).click
|
||||
first('.select2-container', minimum: 1).click
|
||||
find('li.select2-results__option[role="option"]', text: instructeur_3.email).click
|
||||
select_multi('email instructeur', instructeur_2.email)
|
||||
select_multi('email instructeur', instructeur_3.email)
|
||||
|
||||
click_on 'Envoyer'
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ describe 'instructeurs/dossiers/envoyer_dossier_block.html.haml', type: :view do
|
|||
let(:instructeur) { create(:instructeur, email: 'yop@totomail.fr') }
|
||||
let(:potential_recipients) { [instructeur] }
|
||||
|
||||
it { is_expected.to have_css("select > option[value='#{instructeur.id}']") }
|
||||
it { is_expected.to match(/data-react-props.*#{instructeur.email}/) }
|
||||
it { is_expected.to have_css(".button.send") }
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue