Exemplo n.º 1
0
 /**
  * @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);
 }
Exemplo n.º 2
0
 /**
  * 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');
 }
Exemplo n.º 3
0
 /**
  * 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);
 }
Exemplo n.º 5
0
 /**
  * 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);
 }
Exemplo n.º 6
0
 public function _beforeSave(Mage_Core_Model_Abstract $object)
 {
     if (!$object->getId()) {
         $object->setCreatedate(now());
     }
     return parent::_beforeSave($object);
 }
Exemplo n.º 7
0
 /**
  * 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);
 }
Exemplo n.º 9
0
 /**
  * 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);
 }
Exemplo n.º 10
0
 /**
  * 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);
 }
Exemplo n.º 11
0
 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);
 }
Exemplo n.º 12
0
 /**
  * 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;
 }
Exemplo n.º 13
0
 /**
  * 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;
 }
Exemplo n.º 14
0
 /**
  * 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;
 }
Exemplo n.º 15
0
 /**
  * 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);
 }
Exemplo n.º 16
0
 public function _beforeSave(Mage_Core_Model_Abstract $object)
 {
     if (!$object->getId()) {
         $object->setCreatedate(now())->setStatus(1);
         $this->generateUniqueAuthKey($object);
     }
     return parent::_beforeSave($object);
 }
Exemplo n.º 17
0
 /**
  * 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);
 }
Exemplo n.º 18
0
 /**
  * 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;
 }
Exemplo n.º 19
0
 /**
  * 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'));
 }
Exemplo n.º 21
0
 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);
 }
Exemplo n.º 22
0
 /**
  * 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);
 }
Exemplo n.º 23
0
 /**
  * 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;
 }
Exemplo n.º 24
0
 /**
  * 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;
 }
Exemplo n.º 26
0
 /**
  * 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);
 }
Exemplo n.º 27
0
 /**
  * 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;
 }
Exemplo n.º 28
0
 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;
 }
Exemplo n.º 29
0
 /**
  * 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);
 }