/** * 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; }
/** * 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; }
/** * 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; }
/** * 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; }
/** * 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; }
/** * 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; }