Se rendre au contenu
Nexelans
  • 0
    • Page d'accueil
    • Nos services
    • Odoo
    • Formations
    • Services
    • Support
    • Aide
    • Facture électronique
    • Formations proposées
    • Blog Odoo
    • Postes
    • Partenaires
    • Contactez-nous
  • +33 9 72 02 75 90 contact@nexelans.fr
  • Se connecter
Nexelans
  • 0
    • Page d'accueil
    • Nos services
    • Odoo
    • Formations
    • Services
    • Support
    • Aide
    • Facture électronique
    • Formations proposées
    • Blog Odoo
    • Postes
    • Partenaires
    • Contactez-nous
  • +33 9 72 02 75 90 contact@nexelans.fr
  • Se connecter
  • T&A Odoo
  • Empêcher la création d'un contact avec le même email
  • 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

    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.
    Nexelans​​​

    Siège social :141 chemin de la Basse Biousse, 38890 St Chef

    Bureaux : 2 rue des Sayes, 38080 L'Isle d'Abeau

    Une adresse doit être spécifiée pour qu'une carte soit intégrée

                         

    Entrer en contact
    • contact@nexelans.fr
    • 09 72 02 75 90
    Suivez-nous

     LinkedIn

    • YouTube
    Divers
    • Mentions légales
    • Vie privée
    • Conditions générales de services
    • Conditions générales de maintenance
    Produits
    • Odoo
    • Facture électronique




    Logo Nexelans

    Nexelans
    • Page d'accueil
    • Contact
    • Prendre Rendez-vous
    • Nos services
    • Formations
    •   Numeum
    ​
    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