예제 #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
 /**
  * Set recipient details into request
  * @param \Magento\Shipping\Model\Shipment\Request $request
  * @param \Magento\Sales\Model\Order\Address $address
  * @return void
  */
 protected function setRecipientDetails(Request $request, Address $address)
 {
     $request->setRecipientContactPersonName(trim($address->getFirstname() . ' ' . $address->getLastname()));
     $request->setRecipientContactPersonFirstName($address->getFirstname());
     $request->setRecipientContactPersonLastName($address->getLastname());
     $request->setRecipientContactCompanyName($address->getCompany());
     $request->setRecipientContactPhoneNumber($address->getTelephone());
     $request->setRecipientEmail($address->getEmail());
     $request->setRecipientAddressStreet(trim($address->getStreetLine(1) . ' ' . $address->getStreetLine(2)));
     $request->setRecipientAddressStreet1($address->getStreetLine(1));
     $request->setRecipientAddressStreet2($address->getStreetLine(2));
     $request->setRecipientAddressCity($address->getCity());
     $request->setRecipientAddressStateOrProvinceCode($address->getRegionCode() ?: $address->getRegion());
     $request->setRecipientAddressRegionCode($address->getRegionCode());
     $request->setRecipientAddressPostalCode($address->getPostcode());
     $request->setRecipientAddressCountryCode($address->getCountryId());
 }
예제 #3
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;
 }