Example #1
0
 /**
  * Prepare inventory data from custom atribute
  *
  * @param Varien_Object $object
  * @return Mage_Eav_Model_Entity_Attribute_Backend_Abstract|void
  */
 public function beforeSave($object)
 {
     /** @var $object Mage_Catalog_Model_Product  */
     $stockData = $object->getData($this->getAttribute()->getAttributeCode());
     if ($object->getStockData() !== null || $stockData !== null) {
         $object->setStockData(array_replace((array) $object->getStockData(), (array) $stockData));
     }
     $object->unsetData($this->getAttribute()->getAttributeCode());
     parent::beforeSave($object);
 }
Example #2
0
 public function testBeforeSave()
 {
     $object = new Varien_Object(array(self::ATTRIBUTE_NAME => array('is_in_stock' => 1, 'qty' => 5), 'stock_data' => array('is_in_stock' => 2, 'qty' => 2)));
     $stockData = $object->getStockData();
     $this->assertEquals(2, $stockData['is_in_stock']);
     $this->assertEquals(2, $stockData['qty']);
     $this->assertNotEmpty($object->getData(self::ATTRIBUTE_NAME));
     $this->_model->beforeSave($object);
     $stockData = $object->getStockData();
     $this->assertEquals(1, $stockData['is_in_stock']);
     $this->assertEquals(5, $stockData['qty']);
     $this->assertNull($object->getData(self::ATTRIBUTE_NAME));
 }