From 442e1a35c9cd1f92b21b97d0f2f3c0f85bed1881 Mon Sep 17 00:00:00 2001 From: Arthur ZHU Date: Mon, 7 Feb 2022 21:40:58 +0100 Subject: [PATCH] correctif formulaire modif contact --- app/entreprises/forms.py | 20 ++++++++++++++++++-- app/entreprises/routes.py | 5 ++++- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/app/entreprises/forms.py b/app/entreprises/forms.py index 4612dfa4..006902be 100644 --- a/app/entreprises/forms.py +++ b/app/entreprises/forms.py @@ -244,6 +244,8 @@ class ContactCreationForm(FlaskForm): class ContactModificationForm(FlaskForm): + hidden_contact_id = HiddenField() + hidden_entreprise_id = HiddenField() nom = StringField("Nom", validators=[DataRequired(message=CHAMP_REQUIS)]) prenom = StringField("Prénom", validators=[DataRequired(message=CHAMP_REQUIS)]) telephone = StringField("Téléphone", validators=[Optional()]) @@ -260,14 +262,28 @@ class ContactModificationForm(FlaskForm): if not rv: return False + contact = EntrepriseContact.query.filter( + EntrepriseContact.id != self.hidden_contact_id.data, + EntrepriseContact.entreprise_id == self.hidden_entreprise_id.data, + EntrepriseContact.nom == self.nom.data, + EntrepriseContact.prenom == self.prenom.data, + ).first() + + validate = True + + if contact is not None: + self.nom.errors.append("Ce contact existe déjà (même nom et prénom)") + self.prenom.errors.append("") + validate = False + if not self.telephone.data and not self.mail.data: self.telephone.errors.append( "Saisir un moyen de contact (mail ou téléphone)" ) self.mail.errors.append("Saisir un moyen de contact (mail ou téléphone)") - return False + validate = False - return True + return validate class HistoriqueCreationForm(FlaskForm): diff --git a/app/entreprises/routes.py b/app/entreprises/routes.py index d7a3fac0..640c49cb 100644 --- a/app/entreprises/routes.py +++ b/app/entreprises/routes.py @@ -603,7 +603,10 @@ def edit_contact(id): Permet de modifier un contact """ contact = EntrepriseContact.query.filter_by(id=id).first_or_404() - form = ContactModificationForm() + form = ContactModificationForm( + hidden_entreprise_id=contact.entreprise_id, + hidden_contact_id=contact.id, + ) if form.validate_on_submit(): contact.nom = form.nom.data.strip() contact.prenom = form.prenom.data.strip()