/** * @magentoConfigFixture global/resources/db/table_prefix prefix_ */ public function testGetTableName() { $tableNameOrig = 'core_website'; $tableSuffix = 'suffix'; $tableName = $this->_model->getTable(array($tableNameOrig, $tableSuffix)); $this->assertEquals('prefix_core_website_suffix', $tableName); }
/** * Test that the model detects a connection when it becomes active */ public function testGetConnectionInMemoryCaching() { $connection = new Varien_Db_Adapter_Pdo_Mysql(array('dbname' => 'test_dbname', 'username' => 'test_username', 'password' => 'test_password')); $this->_resource->expects($this->atLeastOnce())->method('getConnection')->with('core_read')->will($this->onConsecutiveCalls(false, $connection, false)); $this->assertFalse($this->_model->getReadConnection()); $this->assertSame($connection, $this->_model->getReadConnection(), 'Inactive connection should not be cached'); $this->assertSame($connection, $this->_model->getReadConnection(), 'Active connection should be cached'); }
/** * Perform actions before object save * * @param Mage_Core_Model_Abstract $object * @return Mage_Core_Model_Resource_Db_Abstract */ protected function _beforeSave(Mage_Core_Model_Abstract $object) { if (is_array($object->getChanges()) && sizeof($object->getChanges())) { $object->setChanges(Zend_Json::encode($object->getChanges())); } return parent::_beforeSave($object); }
/** * @param Mage_Core_Model_Abstract $object * @return Mage_Core_Model_Resource_Db_Abstract */ protected function _afterLoad(Mage_Core_Model_Abstract $object) { if ($object->getData('additional')) { $object->setData('additional', Mage::helper('core')->jsonDecode($object->getData('additional'))); } return parent::_afterLoad($object); }
/** * Load an object using 'identifier' field * * @param Mage_Core_Model_Abstract $object * @param mixed $value * @param string $field * @return Scandi_MenuManager_Model_Resource_Item */ public function load(Mage_Core_Model_Abstract $object, $value, $field = null) { if (!is_numeric($value) && is_null($field)) { $field = 'identifier'; } return parent::load($object, $value, $field); }
public function _beforeSave(Mage_Core_Model_Abstract $object) { if (!$object->getId()) { $object->setCreatedate(now()); } return parent::_beforeSave($object); }
/** * Perform actions before object save * * @param Mage_Core_Model_Abstract $object * @return Mage_Core_Model_Resource_Db_Abstract * @throws Mage_Core_Exception */ public function _beforeSave(Mage_Core_Model_Abstract $object) { if ($date = $object->getDateFrom()) { $object->setDateFrom($this->formatDate($date)); } else { $object->setDateFrom(null); } if ($date = $object->getDateTo()) { $object->setDateTo($this->formatDate($date)); } else { $object->setDateTo(null); } if (!is_null($object->getDateFrom()) && !is_null($object->getDateTo()) && Varien_Date::toTimestamp($object->getDateFrom()) > Varien_Date::toTimestamp($object->getDateTo())) { Mage::throwException(Mage::helper('core')->__('Start date cannot be greater than end date.')); } $check = $this->_checkIntersection($object->getStoreId(), $object->getDateFrom(), $object->getDateTo(), $object->getId()); if ($check) { Mage::throwException(Mage::helper('core')->__('Your design change for the specified store intersects with another one, please specify another date range.')); } if ($object->getDateFrom() === null) { $object->setDateFrom(new Zend_Db_Expr('null')); } if ($object->getDateTo() === null) { $object->setDateTo(new Zend_Db_Expr('null')); } parent::_beforeSave($object); }
/** * Add creation date to object * * @param Mage_Core_Model_Abstract $object * @return Mage_Core_Model_Resource_Db_Abstract */ protected function _beforeSave(Mage_Core_Model_Abstract $object) { if (!$object->getAddedAt()) { $object->setAddedAt($this->formatDate(true)); } return parent::_beforeSave($object); }
/** * 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 (!intval($value) && is_string($value)) { $field = 'role_id'; } return parent::load($object, $value, $field); }
/** * Perform actions after object save * * @param Mage_Core_Model_Abstract $object * @return Mage_Eav_Model_Resource_Entity_Attribute_Set */ protected function _afterSave(Mage_Core_Model_Abstract $object) { if ($object->getGroups()) { /* @var $group Mage_Eav_Model_Entity_Attribute_Group */ foreach ($object->getGroups() as $group) { $group->setAttributeSetId($object->getId()); if ($group->itemExists() && !$group->getId()) { continue; } $group->save(); } } if ($object->getRemoveGroups()) { foreach ($object->getRemoveGroups() as $group) { /* @var $group Mage_Eav_Model_Entity_Attribute_Group */ $group->delete(); } Mage::getResourceModel('eav/entity_attribute_group')->updateDefaultGroup($object->getId()); } if ($object->getRemoveAttributes()) { foreach ($object->getRemoveAttributes() as $attribute) { /* @var $attribute Mage_Eav_Model_Entity_Attribute */ $attribute->deleteEntity(); } } return parent::_afterSave($object); }
protected function _afterLoad(Mage_Core_Model_Abstract $object) { if ($object->getId()) { $stores = $this->lookupStoreIds($object->getId()); $object->setData('store_id', $stores); } return parent::_afterLoad($object); }
/** * Prepare data for save * * @param Mage_Core_Model_Abstract $object * @return array */ protected function _prepareDataForSave(Mage_Core_Model_Abstract $object) { if (!$object->getId()) { $object->setCreatedAt(now()); } $data = parent::_prepareDataForSave($object); return $data; }
/** * Retrieve select object for load object data. * * @param string $field The field. * @param mixed $value The value. * @param Rootd_Link_Model_Node $object The link model. * * @return Zend_Db_Select */ protected function _getLoadSelect($field, $value, $object) { $select = parent::_getLoadSelect($field, $value, $object); if (!is_null($object->getStoreId())) { $select->where('store_id IN(?)', array(Mage_Core_Model_App::ADMIN_STORE_ID, $object->getStoreId()))->order('store_id ' . Varien_Db_Select::SQL_DESC)->limit(1); } return $select; }
/** * Retrieve select object for load object data * * @param string $field * @param mixed $value * @param Mage_Core_Model_Abstract $object * * @return Zend_Db_Select */ protected function _getLoadSelect($field, $value, $object) { $select = parent::_getLoadSelect($field, $value, $object); if ($object->getStoreId()) { $select->join(array('cps' => $this->getTable('store')), $this->getMainTable() . '.slideshow_id = `cps`.slideshow_id')->where('`cps`.store_id in (0, ?) ', $object->getStoreId())->order('store_id DESC')->limit(1); } return $select; }
/** * Before save * @param Mage_Core_Model_Abstract $object * @return AntoineK_Slider_Model_Resource_Slider */ protected function _beforeSave(Mage_Core_Model_Abstract $object) { if (!$object->getId()) { $object->setCreatedAt(Mage::getSingleton('core/date')->gmtDate()); } $object->setUpdatedAt(Mage::getSingleton('core/date')->gmtDate()); return parent::_beforeSave($object); }
public function _beforeSave(Mage_Core_Model_Abstract $object) { if (!$object->getId()) { $object->setCreatedate(now())->setStatus(1); $this->generateUniqueAuthKey($object); } return parent::_beforeSave($object); }
/** * process multiple select fields * * @access protected * @param Mage_Core_Model_Abstract $object * @return Lionleap_Temples_Model_Resource_Temple * @author Ultimate Module Creator */ protected function _beforeSave(Mage_Core_Model_Abstract $object) { $months = $object->getMonths(); if (is_array($months)) { $object->setMonths(implode(',', $months)); } return parent::_beforeSave($object); }
/** * Add expiration date filter to select * * @param string $field * @param mixed $value * @param Mage_Persistent_Model_Session $object * @return Zend_Db_Select */ protected function _getLoadSelect($field, $value, $object) { $select = parent::_getLoadSelect($field, $value, $object); if (!$object->getLoadExpired()) { $select->where('updated_at >= ?', $object->getExpiredBefore()); } return $select; }
/** * Update a "layout update link" if relevant data is provided * * @param Mage_Core_Model_Abstract $object * @return Mage_Core_Model_Resource_Layout */ protected function _afterSave(Mage_Core_Model_Abstract $object) { $data = $object->getData(); if (isset($data['store_id']) && isset($data['area']) && isset($data['package']) && isset($data['theme'])) { $this->_getWriteAdapter()->insertOnDuplicate($this->getTable('core_layout_link'), array('store_id' => $data['store_id'], 'area' => $data['area'], 'package' => $data['package'], 'theme' => $data['theme'], 'layout_update_id' => $object->getId())); } return parent::_afterSave($object); }
/** * Prepare affected product */ protected function _prepareAffectedProduct() { /** @var $modelCondition Mage_Catalog_Model_Product_Condition */ $modelCondition = $this->_factory->getModel('catalog/product_condition'); $productCondition = $modelCondition->setTable($this->_resource->getTable('catalogrule/affected_product'))->setPkFieldName('product_id'); $this->_app->dispatchEvent('catalogrule_after_apply', array('product' => $this->_getProduct(), 'product_condition' => $productCondition)); $this->_connection->delete($this->_resource->getTable('catalogrule/affected_product')); }
protected function _beforeSave(Mage_Core_Model_Abstract $object) { // Object validation - null values allowed if ($object instanceof Webguys_Easytemplate_Model_Template_Data_Abstract && !is_null($object->getValue()) && !$object->isValid()) { throw new Exception('Form data not valid'); } return parent::_beforeSave($object); }
/** * Setting up created_at and updarted_at * * @param Mage_Core_Model_Abstract $object */ protected function _beforeSave(Mage_Core_Model_Abstract $object) { if (!$object->getCreatedAt()) { $object->setCreatedAt($this->formatDate(time())); } $object->setUpdatedAt($this->formatDate(time())); parent::_beforeSave($object); }
/** * Sets up performed at time if needed * * @param Mage_Core_Model_Abstract $object * @return Mage_Dataflow_Model_Resource_Profile_History */ protected function _beforeSave(Mage_Core_Model_Abstract $object) { if (!$object->getPerformedAt()) { $object->setPerformedAt($this->formatDate(time())); } parent::_beforeSave($object); return $this; }
/** * Prepare wishlist load select query * * @param string $field * @param mixed $value * @param mixed $object * @return Zend_Db_Select */ protected function _getLoadSelect($field, $value, $object) { $select = parent::_getLoadSelect($field, $value, $object); if ($field == $this->_customerIdFieldName) { $select->order('wishlist_id ' . Zend_Db_Select::SQL_ASC)->limit(1); } return $select; }
/** * Perform actions before object save * * @param Mage_Core_Model_Abstract $object * @return Enterprise_Reward_Model_Resource_Reward_History */ public function _beforeSave(Mage_Core_Model_Abstract $object) { parent::_beforeSave($object); if (is_array($object->getData('additional_data'))) { $object->setData('additional_data', serialize($object->getData('additional_data'))); } return $this; }
/** * Processing object after save data * Update app_code as Store + Device + 123 (increment). * * @param Mage_Core_Model_Abstract $object * @return Mage_Core_Model_Abstract */ protected function _afterSave(Mage_Core_Model_Abstract $object) { $appCode = $object->getCode(); $isCodePrefixed = $object->isCodePrefixed(); if (!$isCodePrefixed) { $this->_getWriteAdapter()->update($this->getMainTable(), array('code' => $appCode . $object->getId()), $this->_getWriteAdapter()->quoteInto($this->getIdFieldName() . '=?', $object->getId())); } return parent::_afterSave($object); }
/** * Add expiration date filter to select * * @param string $field * @param mixed $value * @param Mage_Persistent_Model_Session $object * @return Zend_Db_Select */ protected function _getLoadSelect($field, $value, $object) { $select = parent::_getLoadSelect($field, $value, $object); if (!$object->getLoadExpired()) { $tableName = $this->getMainTable(); $select->join(array('customer' => $this->getTable('customer/entity')), 'customer.entity_id = ' . $tableName . '.customer_id')->where($tableName . '.updated_at >= ?', $object->getExpiredBefore()); } return $select; }
protected function _getLoadSelect($field, $value, $object) { $select = parent::_getLoadSelect($field, $value, $object); if ($object->getStoreId()) { $stores = array((int) $object->getStoreId(), Mage_Core_Model_App::ADMIN_STORE_ID); $select->join(array('tas' => $this->getTable('themeframework/page_store')), $this->getMainTable() . '.page_id = tas.page_id', array('store_id'))->where('status = ?', 1)->where('tas.store_id in (?) ', $stores)->order('store_id DESC')->limit(1); } return $select; }
/** * Perform actions after object save * * @param Mage_Core_Model_Abstract $object * @return Mage_Core_Model_Resource_Website */ protected function _afterSave(Mage_Core_Model_Abstract $object) { if ($object->getIsDefault()) { $this->_getWriteAdapter()->update($this->getMainTable(), array('is_default' => 0)); $where = array('website_id = ?' => $object->getId()); $this->_getWriteAdapter()->update($this->getMainTable(), array('is_default' => 1), $where); } return parent::_afterSave($object); }
/** * Assign shipping rule to store views and linking rules * * @param Mage_Core_Model_Abstract $object * * @return Mage_Core_Model_Resource_Db_Abstract */ protected function _afterSave(Mage_Core_Model_Abstract $object) { $this->_addLinkStores($object); if ($object->hasCustomMethodRules()) { $rules = Mage::helper('adminhtml/js')->decodeGridSerializedInput($object->getCustomMethodRules()); $this->_addLinkRules($object, $rules); } return parent::_afterSave($object); }