예제 #1
0
 /**
  *
  * @param \Magento\Sales\Model\Order\Address $address
  * @return array
  */
 public function validate(Address $address)
 {
     $warnings = [];
     foreach ($this->required as $code => $label) {
         if (!$address->hasData($code)) {
             $warnings[] = sprintf('%s is a required field', $label);
         }
     }
     if (!filter_var($address->getEmail(), FILTER_VALIDATE_EMAIL)) {
         $warnings[] = 'Email has a wrong format';
     }
     if (!filter_var(in_array($address->getAddressType(), [Address::TYPE_BILLING, Address::TYPE_SHIPPING]))) {
         $warnings[] = 'Address type doesn\'t match required options';
     }
     return $warnings;
 }
예제 #2
0
파일: address.php 프로젝트: mage2pro/core
/**
 * 2016-07-27
 * Адрес приобретает тип, только когда используется при оформлении заказа.
 * Пока же адрес просто принадлежит покупателю
 * @see \Magento\Customer\Model\Data\Address
 * @see \Magento\Customer\Api\Data\AddressInterface
 * а не используется в контексте оформления заказа, то такой адрес ещё типа не имеет,
 * и в будущем, в зависимости от контекста,
 * может использоваться и как адрес доставки, и как платёжный адрес.
 *
 * @uses \Magento\Quote\Model\Quote\Address::getAddressType()
 * @uses \Magento\Customer\Model\Address::getAddressType()
 * @param AA|CA|QA|OA $a
 * @return bool
 */
function df_address_is_billing($a)
{
    return $a instanceof AA ? AA::TYPE_BILLING === $a['address_type'] : ($a instanceof OA ? OA::TYPE_BILLING === $a->getAddressType() : df_error("Invalid address class: «%s».", get_class($a)));
}
예제 #3
0
파일: Order.php 프로젝트: aiesh/magento2
 /**
  * Convert order address to quote address
  *
  * @param   \Magento\Sales\Model\Order\Address $address
  * @return  \Magento\Sales\Model\Quote\Address
  */
 public function addressToQuoteAddress(\Magento\Sales\Model\Order\Address $address)
 {
     $quoteAddress = $this->_quoteAddressFactory->create()->setStoreId($address->getStoreId())->setAddressType($address->getAddressType())->setCustomerId($address->getCustomerId())->setCustomerAddressId($address->getCustomerAddressId());
     $this->_objectCopyService->copyFieldsetToTarget('sales_convert_order_address', 'to_quote_address', $address, $quoteAddress);
     return $quoteAddress;
 }
예제 #4
0
파일: Address.php 프로젝트: aiesh/magento2
 /**
  * Import address data from order address
  *
  * @param   \Magento\Sales\Model\Order\Address $address
  * @return $this
  * @deprecated Use \Magento\Sales\Model\Quote\Address::importCustomerAddressData() instead
  */
 public function importOrderAddress(\Magento\Sales\Model\Order\Address $address)
 {
     $this->setAddressType($address->getAddressType())->setCustomerId($address->getCustomerId())->setCustomerAddressId($address->getCustomerAddressId())->setEmail($address->getEmail());
     $this->_objectCopyService->copyFieldsetToTarget('sales_convert_order_address', 'to_quote_address', $address, $this);
     return $this;
 }