/** * Update related grid table after object save * * @param Varien_Object $object * @return Mage_Core_Model_Resource_Db_Abstract */ protected function _afterSave(Mage_Core_Model_Abstract $object) { $resource = parent::_afterSave($object); if ($object->hasDataChanges() && $object->getOrder()) { $gridList = array('sales/order' => 'entity_id', 'sales/order_invoice' => 'order_id', 'sales/order_shipment' => 'order_id', 'sales/order_creditmemo' => 'order_id'); // update grid table after grid update foreach ($gridList as $gridResource => $field) { Mage::getResourceModel($gridResource)->updateOnRelatedRecordChanged($field, $object->getParentId()); } } return $resource; }