Se rendre au contenu
Nexelans
  • Page d'accueil
  • Cash Flow Pro
  • Odoo
  • Facturation électronique
  • Nos services
  • Formations
  • Support
  • Blog Odoo
  • Contactez-nous
  • 0
  • 0
  • Se connecter
  • Contactez-nous
Nexelans
  • 0
  • 0
    • Page d'accueil
    • Cash Flow Pro
    • Odoo
    • Facturation électronique
    • Nos services
    • Formations
    • Support
    • Blog Odoo
    • Contactez-nous
  • Se connecter
  • Contactez-nous

Empêcher la création d'un contact avec le même email

8 mai 2024 par
Nexelans, Emmanuel Chaumery
| Aucun commentaire pour l'instant
8 mai 2024 par
Nexelans, Emmanuel Chaumery
| Aucun commentaire pour l'instant

Introduction

Quand on a un site web avec des tiers qui se connectent automatiquement, Odoo, nativement, n'empêche pas de créer plusieurs comptes avec la même adresse courriel. Dans certains cas, ça peut devenir rapidement embêtant, obligeant notamment à fusionner des contacts (ce qui est possible et même simple avec Odoo ;) ).

 Mais pour l'empêcher, il va falloir mettre un peu les mains à la pâte, même si on est en SAAS.

 ⚠️ Toute création de code Python a une incidence potentielle (facturation de frais de maintenance, documentation obligatoire et suivi du code pour en tenir compte pendant les migrations etc...), vous suivez ce tuto en connaissance de cause sinon, ne le faîtes pas !

 

Action !

Nous allons donc créer une action automatisée en V17 :

➡️Depuis le module Contacts, entrez dans Studio et cliquez sur l'onglet Automatisations. Si vous ne savez pas faire cette première action, n'allez pas plus loin et demandez à un consultant Odoo de vous aider (appelez nous par exemple 😉)

➡️Cliquez sur Nouveau pour créer une nouvelle action automatisée

​▶️Nom : ce que vous voulez mais soyez explicite

​▶️Modèle : Contact

​▶️Déclencher : Lors de l'enregistrement (C'est le plus simple)

​⏯️Pas d'autre changement en haut de cette page, passons aux actions à effectuer

​▶️Cliquez sur Ajouter une action et sélectionner "Execute Code"

 

Dès lors, il va falloir taper le code Python suivant en respectant l'indentation :

	if record.email:
    ​ ​existing_contact=record.env['res.partner'].search([('id','!=',record.id),('email','=',record.email)])
    ​ ​if existing_contact:
        ​ ​ ​raise UserError("Compte existant") 

La première ligne  vérifie qu'on a rempli le champ email de la fiche contact

La seconde ligne va vérifier s'il y a une autre fiche contact avec la même adresse dans la base et si c'est le cas, la variable existing_contact sera vraie

La troisième ligne teste la variable existing_contact et la quatrième ligne affiche un message d'erreur si c'est le cas, n'hésitez pas à personnaliser ce message. 

Il restera à l'utilisateur à trouver une autre adresse mail s'il veut enregistrer ce contact, sinon, voici ce qui s'affichera.

Affichage erreur

# Développement Tips
Nexelans, Emmanuel Chaumery 8 mai 2024
Partager cet article
Étiquettes
Développement Tips
Archive
Se connecter pour laisser un commentaire.

Conçu
pour les entreprises

Nexelans et Sudokeys sont des intégrateurs experts et partenaires Gold d'Odoo. Nous nous engageons à offrir des solutions sur mesure pour optimiser les opérations des petites et moyennes entreprises.

  • Page d'accueil
  • Contactez-nous
  • Politique vie privée
  • Notre Studio IA
  • Conditions Générales
  • Conditions de maintenance
  • +33 4 87 86 01 15
  • contact@nexelans.fr
Suivez-nous

Politique de cookies

Copyright 2024 © Nexelans
Généré par Odoo - Le #1 Open Source eCommerce

Nous utilisons des cookies pour vous offrir une meilleure expérience utilisateur sur ce site. Politique en matière de cookies

Que les essentiels Je suis d'accord