Fix empty value in routing dropdown (#4718)

Usager : empêche l'usager de sélectionner un groupe de routage vide
This commit is contained in:
Pierre de La Morinerie 2020-01-28 15:08:32 +01:00 committed by GitHub
commit d73dbc5056
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 3 deletions

View file

@ -216,6 +216,7 @@ class Dossier < ApplicationRecord
validates :user, presence: true validates :user, presence: true
validates :individual, presence: true, if: -> { procedure.for_individual? } validates :individual, presence: true, if: -> { procedure.for_individual? }
validates :groupe_instructeur, presence: true
def update_search_terms def update_search_terms
self.search_terms = [ self.search_terms = [

View file

@ -30,11 +30,22 @@
%hr %hr
- if dossier.procedure.routee? - if dossier.procedure.routee?
= f.label :groupe_instructeur_id, dossier.procedure.routing_criteria_name = f.label :groupe_instructeur_id do
= dossier.procedure.routing_criteria_name
%span.mandatory *
-# The routing dropdown has 'include_blank: false', because otherwise a blank
-# value may nullify the groupe_instructeur and thus the link between the dossier
-# and its procedure.
-#
-# If, one day, we need to make clearer to the user that they must actually choose an
-# option, THINK TWICE before adding a blank option, and what would happen if the form is
-# saved when the blank option is selected.
-# Instead please consider other possibilities; like using CSS to gray out the default option,
-# or adding some "(please select an option)" wording aside the label of the default group.
-# CSS
= f.select :groupe_instructeur_id, = f.select :groupe_instructeur_id,
dossier.procedure.groupe_instructeurs.order(:label).map { |gi| [gi.label, gi.id] }, dossier.procedure.groupe_instructeurs.order(:label).map { |gi| [gi.label, gi.id] },
{}, { include_blank: false }
required: true
= f.fields_for :champs, dossier.champs do |champ_form| = f.fields_for :champs, dossier.champs do |champ_form|
- champ = champ_form.object - champ = champ_form.object