/** * Process role before saving * * @param Mage_Core_Model_Abstract $role * @return Mage_User_Model_Resource_Role */ protected function _beforeSave(Mage_Core_Model_Abstract $role) { if (!$role->getId()) { $role->setCreated($this->formatDate(true)); } $role->setModified($this->formatDate(true)); if ($role->getId() == '') { if ($role->getIdFieldName()) { $role->unsetData($role->getIdFieldName()); } else { $role->unsetData('id'); } } if (!$role->getTreeLevel()) { if ($role->getPid() > 0) { $select = $this->_getReadAdapter()->select()->from($this->getMainTable(), array('tree_level'))->where("{$this->getIdFieldName()} = :pid"); $binds = array('pid' => (int) $role->getPid()); $treeLevel = $this->_getReadAdapter()->fetchOne($select, $binds); } else { $treeLevel = 0; } $role->setTreeLevel($treeLevel + 1); } if ($role->getName()) { $role->setRoleName($role->getName()); } return $this; }
public function unsetData($key = null) { parent::unsetData($key); if (is_null($key)) { $this->_items = null; } return $this; }
/** * Action before save * * @param Mage_Core_Model_Abstract $role * @return Mage_Api_Model_Resource_Roles */ protected function _beforeSave(Mage_Core_Model_Abstract $role) { if ($role->getId() == '') { if ($role->getIdFieldName()) { $role->unsetData($role->getIdFieldName()); } else { $role->unsetData('id'); } } if ($role->getPid() > 0) { $row = $this->load($role->getPid()); } else { $row = array('tree_level' => 0); } $role->setTreeLevel($row['tree_level'] + 1); $role->setRoleName($role->getName()); return $this; }
/** * Set required fields before saving model * * @param Mage_Core_Model_Abstract $object * @return $this */ protected function _beforeSave(Mage_Core_Model_Abstract $object) { if (!$object->getData('store_ids')) { $object->setData('store_ids', array(Mage::app()->getStore(true)->getId())); } if ($object->getId()) { $object->getAttributeModel(); $object->unsetData('attribute_id'); } if (!$this->_pageIsUniqueToStores($object)) { throw new Exception('A page already exists for this attribute and store combination.'); } return parent::_beforeSave($object); }
/** * Apply processing before saving object * * @param Mage_Core_Model_Abstract $object */ protected function _beforeSave(Mage_Core_Model_Abstract $object) { if (!$object->getSlideCode()) { throw new Exception(Mage::helper('banners')->__('Banner Slides must have a unique code')); } $object->setSlideCode($this->formatSlideCode($object->getSlideCode())); if (Mage::getDesign()->getArea() == 'adminhtml') { foreach ($object->getData() as $field => $value) { if (preg_match("/^use_config_([a-zA-Z_]{1,})\$/", $field, $result)) { $object->setData($result[1], null); $object->unsetData($field); } } } return parent::_beforeSave($object); }
/** * Unset data from the object. * * $key can be a string only. Array will be ignored. * * $isChanged will specify if the object needs to be saved after an update. * * @param string $key * @param boolean $isChanged * @return Mage_Catalog_Model_Abstract */ public function unsetData($key = null) { if (!is_null($key) && $this->isLockedAttribute($key) || $this->isReadonly()) { return $this; } return parent::unsetData($key); }
protected $_correspondents; public function __construct($args = array()) { $this->_init('alekseon_mailTransport/sentEmail'); }
/** * Unsets the data at the given key. * * Overridden to add an $unset operation for when the object is saved. * * @param string $key * @return Cm_Mongo_Model_Abstract */ public function unsetData($key = null) { if (!is_null($key) && $this->isObjectNew() === FALSE && !isset($this->getResource()->getFieldMappings()->{$key}->required)) { $this->op('$unset', $key, 1); } return parent::unsetData($key); }