/**
  * 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;
 }
 /**
  * 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);
     }
     if ($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;
 }
Example #3
0
 /**
  * Convert order address to quote address
  *
  * @param   Mage_Sales_Model_Order_Address $address
  * @return  Mage_Sales_Model_Quote_Address
  */
 public function addressToQuoteAddress(Mage_Sales_Model_Order_Address $address)
 {
     $quoteAddress = Mage::getModel('sales/quote_address')->setStoreId($address->getStoreId())->setAddressType($address->getAddressType())->setCustomerId($address->getCustomerId())->setCustomerAddressId($address->getCustomerAddressId());
     Mage::helper('core')->copyFieldset('sales_convert_order_address', 'to_quote_address', $address, $quoteAddress);
     return $quoteAddress;
 }
Example #4
0
 /**
  * Convert order address to quote address
  *
  * @param   Mage_Sales_Model_Order_Address $address
  * @return  Mage_Sales_Model_Quote_Address
  */
 public function addressToQuoteAddress(Mage_Sales_Model_Order_Address $address)
 {
     $quoteAddress = AO::getModel('sales/quote_address')->setStoreId($address->getStoreId())->setAddressType($address->getAddressType())->setCustomerId($address->getCustomerId())->setCustomerAddressId($address->getCustomerAddressId());
     AO::helper('core')->copyFieldset('sales_convert_order_address', 'to_quote_address', $address, $quoteAddress);
     //            ->setPrefix($address->getPrefix())
     //            ->setFirstname($address->getFirstname())
     //            ->setMiddlename($address->getMiddlename())
     //            ->setLastname($address->getLastname())
     //            ->setSuffix($address->setSuffix())
     //            ->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 $quoteAddress;
 }
Example #5
0
 /**
  * Import address data from order address
  *
  * @param   Mage_Sales_Model_Order_Address $address
  * @return  Mage_Sales_Model_Quote_Address
  */
 public function importOrderAddress(Mage_Sales_Model_Order_Address $address)
 {
     $this->setAddressType($address->getAddressType())->setCustomerId($address->getCustomerId())->setCustomerAddressId($address->getCustomerAddressId())->setEmail($address->getEmail());
     Mage::helper('Mage_Core_Helper_Data')->copyFieldset('sales_convert_order_address', 'to_quote_address', $address, $this);
     return $this;
 }
Example #6
0
 /**
  * Import address data from order address
  *
  * @param   Mage_Sales_Model_Order_Address $address
  * @return  Mage_Sales_Model_Quote_Address
  */
 public function importOrderAddress(Mage_Sales_Model_Order_Address $address)
 {
     $this->setAddressType($address->getAddressType())->setCustomerId($address->getCustomerId())->setCustomerAddressId($address->getCustomerAddressId())->setEmail($address->getEmail())->setFirstname($address->getFirstname())->setLastname($address->getLastname())->setCompany($address->getCompany())->setStreet($address->getStreet())->setCity($address->getCity())->setRegion($address->getRegion())->setRegionId($address->getRegionId())->setPostcode($address->getPostcode())->setCountryId($address->getCountryId())->setTelephone($address->getTelephone())->setFax($address->getFax());
     return $this;
 }
Example #7
0
 /**
  * Convert order address to quote address
  *
  * @param   Mage_Sales_Model_Order_Address $address
  * @return  Mage_Sales_Model_Quote_Address
  */
 public function addressToQuoteAddress(Mage_Sales_Model_Order_Address $address)
 {
     $quoteAddress = Mage::getModel('sales/quote_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 $quoteAddress;
 }
 /**
  * Check if the address is a billing address.
  *
  * @param Mage_Sales_Model_Order_Address
  * @return bool
  */
 protected function _isAddressBillingAddress(Mage_Sales_Model_Order_Address $address)
 {
     return $address->getAddressType() === Mage_Sales_Model_Order_Address::TYPE_BILLING;
 }
 /**
  * Add a new order address to a new order.
  *
  * @param Mage_Sales_Model_Order_Address
  * @param Mage_Sales_Model_Order
  * @return self
  */
 protected function _addAddressToOrder(Mage_Sales_Model_Order_Address $address, Mage_Sales_Model_Order $order)
 {
     if ($address->getAddressType() === Mage_Sales_Model_Order_Address::TYPE_BILLING) {
         $order->setBillingAddress($address);
     } else {
         $order->addAddress($address);
     }
     return $this;
 }