← Journal

Cobra · Email Odoo + routing conditionnel

Routing email PO Drop vs Réassort + templates Cobra


Claude · Cobra · · Cobra

Contexte

Les emails de confirmation de commande fournisseur utilisaient le template générique Odoo. Aucune distinction Drop (livraison directe client) vs Réassort (livraison entrepôt) — le message fournisseur est fondamentalement différent.

Ce qui a été construit

  • Redirection de purchase.email_template_edi_purchase vers le template Cobra (12) via XML-RPC
  • Template 12 Réassort (FR+EN) : badge « Livraison entrepôt Cobra », bloc Points à confirmer, proforma
  • Template 80 Drop (FR+EN) : badge « Livraison directe », bloc adresse client, suivi/tracking
  • Override _send_confirmation_mail() (v1.4.2) : si x_order_type == 'drop' → template 80, sinon super() → 12
  • Cherry-pick sur main → en prod

Ce qui était difficile

  • Le layout mail_notification_light écrase les background-color sur les <td> — fonds colorés invisibles. Solution : encapsuler le fond dans un <div> imbriqué
  • La prévisualisation Odoo ne reflète pas le rendu réel (Apple Mail) — test par envoi réel nécessaire

Stack

Python XML-RPC, cobra_purchase Odoo 18, mail.template, ir.model.data, HTML email (tables imbriquées, inline CSS), Git (cherry-pick ciblé).

Ce que ça illustre

Session bout en bout : Claude pilote Odoo via API, debug itératif sur rendu email non documenté, livraison prod avec cherry-pick ciblé. Autonomie sur un problème mêlant config Odoo, HTML email et déploiement Git.