THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour,

J'ai créé un nouveau Order Status que je gère dans un module afin d'envoyer un mail au client - suite paiement OK - pour l'informer de la date de livraison de sa commande.
Sauf que les ventes n'apparaissent pas dans le widget STATISTIQUES DE VENTE sous /admin/home.

J'ai retrouvé la discussion http://forum.thelia.net/viewtopic.php?id=11833 - qui évoque la méthode isPaid() en précisant qu'une commande est considérée comme payée si sont statut est CODE_PAID | CODE_PROCESSING | CODE_SENT

J'ai tenté d'attribuer le code 'paid ' (/admin/configuration/order-status) au statut que j'avais créé, mais 'Order status code' possède une contrainte d'unicité.

Quelle est la (meilleure) méthode pour associer un nouveau statut au code 'paid' ?

Merci de votre aide

Offline


Pour envoyer un email au client quand le statut de la commande passe à une valeur spécifique le mieux est dans ton module de créer une listener sur l'événement

TheliaEvents::ORDER_UPDATE_STATUS

Etant donné que Thelia ne gère qu'un seul statut par commande tu ne peux pas "associer" un statut au code paid.

Quelques solutions possibles :
1/ Ajouter un listener qui enverra l'email quand la commande passe au statut que tu as défini. Dans ce listener NE PAS changer le statut de la commande, du coup il reste sur le statut actuellement défini. L'inconvénient est que tu n'a pas d'info concernant le fait que la commande a été expédiée.

2/ Ajouter un bouton au back office sur la page d'édition des commandes du type "Confirmer l'expédition de la commande" dans une des zones de hook disponibles. Tu peux afficher ces zones en mode développement dans le back office en ajoutant "?SHOW_HOOK=1" dans l'url.

A long moyen ou long terme peut-être qu'une modification du coeur de Thelia permettra de cumuler différents statuts pour une même commande.

Last edited by Nog (17-02-2020 11:54:12)

Offline


Bonjour NOG,

Merci pour ton commentaire !
Mon module de gestion du nouveau statut fonctionne très bien, j'ai effectivement utilisé un EventListeners.

Mon problème concerne le workflow
1-not_paid --> 2-paid --> 7-in_april --> 3-processing --> 4-sent
Toutes mes commandes payées que je passe sur mon nouveau statut 7 (livraison en avril) n'apparaissent plus dans le widget STATISTIQUES DE VENTE sous /admin/home car la méthode isPaid() ne gère que les codes status CODE_PAID | CODE_PROCESSING | CODE_SENT
Je ne peux donc pas suivre mon CA sad

Il n'y a donc pas de possibilité d'ajouter mon nouveau statut dans la liste des statuts 'CODE_PAID' sans modifier le modèle de Thelia ?

Merci

Last edited by naonedit (17-02-2020 14:22:11)

Offline


En effet en l'état actuel il n'est pas possible de faire en sorte que la méthode isPaid() prennent en compte d'autres statuts que ceux définis de base (OrderStatus::CODE_PAID, OrderStatus::CODE_PROCESSING, OrderStatus::CODE_SENT) pour déterminer si une commande est considérée comme payée ou non.

Last edited by Nog (17-02-2020 16:09:44)

Offline


Existe t-il tout de même une solution en surchargeant le FRONT de l'admin - TABLEAU DE BORD et STATISTIQUES DE VENTE - dans le code de mon module ?