/**
  * Set correct values on subscription address based on given subscription and order address
  *
  * @param Adyen_Subscription_Model_Subscription $subscription
  * @param Mage_Sales_Model_Order_Address|Mage_Sales_Model_Quote_Address $address
  * @return $this
  */
 public function initAddress(Adyen_Subscription_Model_Subscription $subscription, $address)
 {
     $this->setSubscriptionId($subscription->getId());
     // Reset (possible) original values
     $this->setOrderAddressId(null)->setCustomerAddressId(null)->setQuoteAddressId(null);
     if ($address->getAddressType() == Mage_Sales_Model_Order_Address::TYPE_BILLING) {
         $this->setType(self::ADDRESS_TYPE_BILLING);
     } else {
         $this->setType(self::ADDRESS_TYPE_SHIPPING);
     }
     // Note: Only use customer address if 'save_in_address_book' or 'same_as_billing'
     // is also checked at the address, because it's not enough to rely solely on the
     // customer address ID, because an address can be changed when creating an order
     // in the backend, but this ID still remains when a quote is converted to an order
     if ($address->getCustomerAddressId() && $address->getData('save_in_address_book')) {
         // Create customer address
         $this->setSource(self::ADDRESS_SOURCE_CUSTOMER)->setCustomerAddressId($address->getCustomerAddressId());
     } elseif ($address instanceof Mage_Sales_Model_Quote_Address) {
         // Create quote address
         $this->setSource(self::ADDRESS_SOURCE_QUOTE)->setQuoteAddressId($address->getId());
     } else {
         // Create order address
         $this->setSource(self::ADDRESS_SOURCE_ORDER)->setOrderAddressId($address->getId());
     }
     return $this;
 }
示例#2
0
 /**
  * Convert quote address to order address
  *
  * @param   Mage_Sales_Model_Quote_Address $address
  * @return  Mage_Sales_Model_Order_Address
  */
 public function addressToOrderAddress(Mage_Sales_Model_Quote_Address $address)
 {
     $orderAddress = Mage::getModel('Mage_Sales_Model_Order_Address')->setStoreId($address->getStoreId())->setAddressType($address->getAddressType())->setCustomerId($address->getCustomerId())->setCustomerAddressId($address->getCustomerAddressId());
     Mage::helper('Mage_Core_Helper_Data')->copyFieldset('sales_convert_quote_address', 'to_order_address', $address, $orderAddress);
     Mage::dispatchEvent('sales_convert_quote_address_to_order_address', array('address' => $address, 'order_address' => $orderAddress));
     return $orderAddress;
 }
示例#3
0
 /**
  * Convert quote address to order address
  *
  * @param   Mage_Sales_Model_Quote_Address $address
  * @return  Mage_Sales_Model_Order_Address
  */
 public function addressToOrderAddress(Mage_Sales_Model_Quote_Address $address)
 {
     $orderAddress = Mage::getModel('sales/order_address')->setStoreId($address->getStoreId())->setAddressType($address->getAddressType())->setCustomerId($address->getCustomerId())->setCustomerAddressId($address->getCustomerAddressId())->setFirstname($address->getFirstname())->setLastname($address->getLastname())->setCompany($address->getCompany())->setStreet($address->getStreet(-1))->setCity($address->getCity())->setRegion($address->getRegion())->setRegionId($address->getRegionId())->setPostcode($address->getPostcode())->setCountryId($address->getCountryId())->setTelephone($address->getTelephone())->setFax($address->getFax());
     return $orderAddress;
 }
示例#4
0
 /**
  * Convert quote address to order address
  *
  * @param   Mage_Sales_Model_Quote_Address $address
  * @return  Mage_Sales_Model_Order_Address
  */
 public function addressToOrderAddress(Mage_Sales_Model_Quote_Address $address)
 {
     $orderAddress = AO::getModel('sales/order_address')->setStoreId($address->getStoreId())->setAddressType($address->getAddressType())->setCustomerId($address->getCustomerId())->setCustomerAddressId($address->getCustomerAddressId());
     AO::helper('core')->copyFieldset('sales_convert_quote_address', 'to_order_address', $address, $orderAddress);
     //            ->setPrefix($address->getPrefix())
     //            ->setFirstname($address->getFirstname())
     //            ->setMiddlename($address->getMiddlename())
     //            ->setLastname($address->getLastname())
     //            ->setSuffix($address->getSuffix())
     //            ->setCompany($address->getCompany())
     //            ->setStreet($address->getStreet(-1))
     //            ->setCity($address->getCity())
     //            ->setRegion($address->getRegion())
     //            ->setRegionId($address->getRegionId())
     //            ->setPostcode($address->getPostcode())
     //            ->setCountryId($address->getCountryId())
     //            ->setTelephone($address->getTelephone())
     //            ->setFax($address->getFax());
     AO::dispatchEvent('sales_convert_quote_address_to_order_address', array('address' => $address, 'order_address' => $orderAddress));
     return $orderAddress;
 }