Skip to content

Instantly share code, notes, and snippets.

@real34
Created June 12, 2013 11:37
Show Gist options
  • Save real34/5764557 to your computer and use it in GitHub Desktop.
Save real34/5764557 to your computer and use it in GitHub Desktop.
Fixed an issue with Magento EM_DeleteOrder module which is not deleting records from the `sales_order_tax` table. This may cause inconsistent generated reports http://www.magentocommerce.com/magento-connect/seamless-delete-order.html
commit e748d3fecd20374624f391603b42d73453db1c6f
Author: Pierre Martin <[email protected]>
Date: Wed Jun 12 12:34:38 2013 +0200
Added sales_order_tax cleaning to the DeleteOrder module to prevent leaving corrupted data
diff --git a/app/code/community/EM/DeleteOrder/controllers/Adminhtml/Sales/OrderController.php b/app/code/community/EM/DeleteOrder/controllers/Adminhtml/Sales/OrderController.php
index a6fbd52..7ca0e45 100644
--- a/app/code/community/EM/DeleteOrder/controllers/Adminhtml/Sales/OrderController.php
+++ b/app/code/community/EM/DeleteOrder/controllers/Adminhtml/Sales/OrderController.php
@@ -12,6 +12,7 @@ class EM_DeleteOrder_Adminhtml_Sales_OrderController extends Mage_Adminhtml_Sale
$rsc_table=$write->fetchCol($query);
$table_sales_flat_order = Mage::getSingleton('core/resource')->getTableName('sales_flat_order');
+ $table_sales_order_tax = Mage::getSingleton('core/resource')->getTableName('sales_order_tax');
$table_sales_flat_creditmemo_comment= Mage::getSingleton('core/resource')->getTableName('sales_flat_creditmemo_comment');
$table_sales_flat_creditmemo_item= Mage::getSingleton('core/resource')->getTableName('sales_flat_creditmemo_item');
$table_sales_flat_creditmemo= Mage::getSingleton('core/resource')->getTableName('sales_flat_creditmemo');
@@ -79,6 +80,9 @@ class EM_DeleteOrder_Adminhtml_Sales_OrderController extends Mage_Adminhtml_Sale
+ if(in_array($table_sales_order_tax,$rsc_table)){
+ $write->query("DELETE FROM ".$table_sales_order_tax." WHERE order_id='".mysql_escape_string($orderId)."'");
+ }
if(in_array($table_sales_flat_creditmemo_grid,$rsc_table)){
$write->query("DELETE FROM ".$table_sales_flat_creditmemo_grid." WHERE order_id='".mysql_escape_string($orderId)."'");
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment