/** * Load an object * * @param Mage_Core_Model_Abstract $object * @param mixed $value * @param string $field field to load by (defaults to model id) * @return Mage_Core_Model_Resource_Db_Abstract */ public function load(Mage_Core_Model_Abstract $object, $value, $field = null) { if (is_null($field) || $field === $this->getIdFieldName()) { $eventId = $this->getEventIdByTriggerId($value); $trigger = $this->getTriggerModel($eventId); if ($trigger instanceof Esendex_Sms_Model_Trigger) { parent::load($object, $value, $field); return $object; } return $trigger->load($value, $field); } return parent::load($object, $value, $field); }
/** * @param Mage_Core_Model_Abstract $object * @return Mage_Core_Model_Resource_Db_Abstract */ public function _beforeDelete(Mage_Core_Model_Abstract $object) { // Delete Recipients $table = $this->getTable('esendex_events/admin_sales_report_recipients'); $this->_getWriteAdapter()->delete($table, ['trigger_id = ?' => (int) $object->getId()]); // Delete Details $table = $this->getTable('esendex_events/admin_sales_report_details'); $this->_getWriteAdapter()->delete($table, ['trigger_id = ?' => (int) $object->getId()]); return parent::_beforeDelete($object); }