-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Validation des numéros ANTS des proches #4824
Conversation
cc02afd
to
94aec7d
Compare
c529afa
to
a9c4ca1
Compare
68b77ae
to
6712b41
Compare
6712b41
to
9501ebe
Compare
p = params.require(:relative_user_form) | ||
.permit(:first_name, :last_name, :birth_date, :ants_pre_demande_number, :ants_pre_demande_number_required) | ||
.to_h.symbolize_keys | ||
p[:ants_pre_demande_number_required] = p[:ants_pre_demande_number_required].to_b |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
je fais le parsing du booléen ici même si ce n’est pas super conventionnel
private | ||
|
||
def validate_user | ||
errors.merge!(user) if user.invalid? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ça permet de propager les erreurs au formulaire pour qu’elles s’affichent correctement
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ça m'a l'air très bien ! 🚀
Ça me donne envie de lire des guides pour mieux comprendre les enjeux derrière les form objects. J'ai l'impression que dans le cas présent c'est utile pour :
- activer ou non la validation via
ants_pre_demande_number_required
, qui n'est pas un attribut de l'usager mais bin un élément de contexte - utiliser
validates_with AntsPreDemandeNumberValidation
dans ce contexte mais pas directement sur le modèleUser
(de manière générale je crois que les form objects permettent d'extraire les validations du modèle)
merci @francois-ferrandis 🙇 En effet ici l’intérêt du form object est de :
|
Closes #4777
Contexte
Actuellement les numéros de pré-demande ANTS des proches ne sont pas du tout validés.
Cette PR fait suite à ces PR de préparation : #4770 et #4782 qui ont permis d’extraire la logique de validation des numéros de pré–demande ANTS.
Solution
Dans cette PR on rajoute de la validation sur les champs de numéros de pré-demande ANTS des proches.
Le gros changement est qu’on introduit un nouveau form object
RelativeUserForm
.Il délègue plusieurs attributs au user passé en param, dont le
ants_pre_demande_number
.Le form object rajoute la validation du numéro de pré-demande quand c’est demandé.
Captures d’écran
Review app
RDV sur cette url :
https://demo-rdv-solidarites-pr4824.osc-secnum-fr1.scalingo.io/prendre_rdv/?departement=95&city_code=95582&street_ban_id=&latitude=48.973523&longitude=2.253694&address=Sannois%2C+95110&button=
et vous pouvez vous connecter avec
[email protected]
:Rdvservicepublictest1!
et utiliser les numéros ANTS
RDVSPUB001
à004
PRs suivantes