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