Supprimer proprement les commandes (Delete Any Order)

  • De le 12 mars 2010
  • Difficulté : 2/4

Supprimer proprement les commandes (Delete Any Order) Je recherchais depuis quelques temps un module capable de supprimer n'importe quelle commande, tous statuts confondus, avec factures, expéditions, taxes, produits, commentaires... Permettant ainsi d'éviter la saisi de requêtes SQL directement dans la base de données. Yireo Software met à disposition une extension commerciale très pratique pour supprimer proprement les commandes.

Magento ne prévoit pas dans sa version de base la possibilité de supprimer une commande. Cela peut sembler plutôt logique puisqu'il n'y a en principe aucune raison de le faire, et la possibilité de l'annuler permet toujours d'en garder une trace.

Il est cependant assez fréquent, notamment pour les développeurs, de devoir effectuer quelques tests en production pour s'assurer que le processus de commande reste bien fonctionnel après une mise à jour ou l'installation d'une nouvelle extension. S'encombrer de commandes passées à titre d'essais n'a alors pas grand intérêt.

Une extension bien connu de Magento Connect proposée par Boutik Circus (www.boutik-circus.fr) permet d'effacer les traces d'une commande à condition que son statut soit annulé. Car en effet, modèle EAV oblige, les informations relatives à une commande sont réparties dans de nombreuses tables, et cela se complique encore d'avantage lorsque un remboursement, une facture ou encore une livraison ont été générés.

On trouve sur pas mal de blogs consacrés à Magento plusieurs requêtes SQL pour supprimer directement les commandes depuis la base de données. Cela reste cependant assez risqué et plutôt contraignant...

Une extension commerciale développée par l'équipe d'Yireo Software (http://www.yireo.com) simplifie réellement la tâche en proposant la suppression complète d'une commande depuis l'administration. Les données supprimées sont les suivantes :

  • Order
  • Order Comments
  • Order Items
  • Order Addresses
  • Order Status History
  • Order Tax
  • Order Invoices
  • Order Invoice Comments
  • Order Shipments
  • Order Shipment Comments
  • Order Payments
  • Order Payment Comments
  • Order Creditmemos
  • Order Creditmemo Comments
  • Downloadable Items

L'extension a également pour avantage de ne contenir aucune surcharge. Une nouvelle page liste l'ensemble des commandes avec la possibilité de supprimer les commandes souhaitées :

Supprimer les commandes

Des restrictions peuvent facilement être mises en place sur cette nouvelle action. Attention tout de même à toujours réaliser un backup de la base de données avant d'effectuer une suppression (on ne sait jamais...). Côté développement le code est propre et commenté, vous n'aurez en principe pas besoin d'y retoucher quoi que ce soit.

Le prix du module reste très abordable, il est proposé pour la somme de 35,00€.

commentaires

Commentez cet article : Supprimer proprement les commandes (Delete Any Order)