示例#1
0
 /**
  * Save order related objects
  *
  * @return Mage_Sales_Model_Order
  */
 protected function _afterSave()
 {
     if (null !== $this->_addresses) {
         $this->_addresses->save();
         $billingAddress = $this->getBillingAddress();
         $attributesForSave = array();
         if ($billingAddress && $this->getBillingAddressId() != $billingAddress->getId()) {
             $this->setBillingAddressId($billingAddress->getId());
             $attributesForSave[] = 'billing_address_id';
         }
         $shippingAddress = $this->getShippingAddress();
         if ($shippingAddress && $this->getShippigAddressId() != $shippingAddress->getId()) {
             $this->setShippingAddressId($shippingAddress->getId());
             $attributesForSave[] = 'shipping_address_id';
         }
         if (!empty($attributesForSave)) {
             $this->_getResource()->saveAttribute($this, $attributesForSave);
         }
     }
     if (null !== $this->_items) {
         $this->_items->save();
     }
     if (null !== $this->_payments) {
         $this->_payments->save();
     }
     if (null !== $this->_statusHistory) {
         $this->_statusHistory->save();
     }
     foreach ($this->getRelatedObjects() as $object) {
         $object->save();
     }
     return parent::_afterSave();
 }
示例#2
0
 /**
  * After save object manipulations
  *
  * @return Mage_Sales_Model_Order_Creditmemo
  */
 protected function _afterSave()
 {
     if (null != $this->_items) {
         foreach ($this->_items as $item) {
             $item->save();
         }
     }
     if (null != $this->_comments) {
         foreach ($this->_comments as $comment) {
             $comment->save();
         }
     }
     return parent::_afterSave();
 }
示例#3
0
 /**
  * After object save manipulation
  *
  * @return Mage_Sales_Model_Order_Shipment
  */
 protected function _afterSave()
 {
     if (null !== $this->_items) {
         /**
          * Save invoice items
          */
         foreach ($this->_items as $item) {
             $item->setOrderItem($item->getOrderItem());
             $item->save();
         }
     }
     if (null !== $this->_comments) {
         foreach ($this->_comments as $comment) {
             $comment->save();
         }
     }
     return parent::_afterSave();
 }