/** * Before saving, set the order address id * @return TinyBrick_OrderEdit_Model_Order_Address_Item */ protected function _beforeSave() { parent::_beforeSave(); if ($this->getAddress()) { $this->setOrderAddressId($this->getAddress()->getId()); } return $this; }
/** * Adds item to order * @param TinyBrick_OrderEdit_Model_Order_Item_Abstract $item * @param type $qty * @return TinyBrick_OrderEdit_Model_Order_Address */ public function addItem(TinyBrick_OrderEdit_Model_Order_Item_Abstract $item, $qty = null) { if ($item instanceof TinyBrick_OrderEdit_Model_Order_Item) { if ($item->getParentItemId()) { return $this; } $addressItem = Mage::getModel('orderedit/order_address_item')->setAddress($this)->importQuoteItem($item); $this->getItemsCollection()->addItem($addressItem); if ($item->getHasChildren()) { foreach ($item->getChildren() as $child) { $addressChildItem = Mage::getModel('orderedit/order_address_item')->setAddress($this)->importQuoteItem($child)->setParentItem($addressItem); $this->getItemsCollection()->addItem($addressChildItem); } } } else { $addressItem = $item; $addressItem->setAddress($this); if (!$addressItem->getId()) { $this->getItemsCollection()->addItem($addressItem); } } if ($qty) { $addressItem->setQty($qty); } return $this; }