/** * 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; }
/** * @magentoDataFixture Mage/Adminhtml/controllers/Sales/_files/address.php */ public function testAddressActionNoVAT() { $address = new Mage_Sales_Model_Order_Address(); $address->load('a_unique_firstname', 'firstname'); $this->getRequest()->setParam('address_id', $address->getId()); $this->dispatch('admin/sales_order/address'); $html = $this->getResponse()->getBody(); $prohibitedStrings = array('validate-vat', 'validateVat', 'Validate VAT'); foreach ($prohibitedStrings as $string) { $this->assertNotContains($string, $html, 'VAT button must not be shown while editing address', true); } }
public function addAddress(Mage_Sales_Model_Order_Address $address) { $address->setOrder($this)->setParentId($this->getId()); if (!$address->getId()) { $this->getAddressesCollection()->addItem($address); } return $this; }
/** * Get link to edit order address page * * @param Mage_Sales_Model_Order_Address $address * @param string $label * @return string */ public function getAddressEditLink($address, $label = '') { if (empty($label)) { $label = $this->__('Edit'); } $url = $this->getUrl('*/sales_order/address', array('address_id' => $address->getId())); return '<a href="' . $url . '">' . $label . '</a>'; }