![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/vendor/magento/module-sales/Model/ResourceModel/Order/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Sales\Model\ResourceModel\Order; use Magento\Sales\Model\ResourceModel\EntityAbstract as SalesResource; use Magento\Sales\Model\Spi\OrderAddressResourceInterface; use Magento\Framework\Model\ResourceModel\Db\VersionControl\Snapshot; /** * Flat sales order address resource */ class Address extends SalesResource implements OrderAddressResourceInterface { /** * Event prefix * * @var string */ protected $_eventPrefix = 'sales_order_address_resource'; /** * @var \Magento\Sales\Model\Order\Address\Validator */ protected $_validator; /** * @var \Magento\Sales\Model\ResourceModel\GridPool */ protected $gridPool; /** * @param \Magento\Framework\Model\ResourceModel\Db\Context $context * @param \Magento\Sales\Model\ResourceModel\Attribute $attribute * @param \Magento\SalesSequence\Model\Manager $sequenceManager * @param Snapshot $entitySnapshot * @param \Magento\Framework\Model\ResourceModel\Db\VersionControl\RelationComposite $entityRelationComposite * @param \Magento\Sales\Model\Order\Address\Validator $validator * @param \Magento\Sales\Model\ResourceModel\GridPool $gridPool * @param string $connectionName */ public function __construct( \Magento\Framework\Model\ResourceModel\Db\Context $context, Snapshot $entitySnapshot, \Magento\Framework\Model\ResourceModel\Db\VersionControl\RelationComposite $entityRelationComposite, \Magento\Sales\Model\ResourceModel\Attribute $attribute, \Magento\SalesSequence\Model\Manager $sequenceManager, \Magento\Sales\Model\Order\Address\Validator $validator, \Magento\Sales\Model\ResourceModel\GridPool $gridPool, $connectionName = null ) { $this->_validator = $validator; $this->gridPool = $gridPool; parent::__construct( $context, $entitySnapshot, $entityRelationComposite, $attribute, $sequenceManager, $connectionName ); } /** * Resource initialization * * @return void */ protected function _construct() { $this->_init('sales_order_address', 'entity_id'); } /** * Return configuration for all attributes * * @return array */ public function getAllAttributes() { $attributes = [ 'city' => __('City'), 'company' => __('Company'), 'country_id' => __('Country'), 'email' => __('Email'), 'firstname' => __('First Name'), 'lastname' => __('Last Name'), 'region_id' => __('State/Province'), 'street' => __('Street Address'), 'telephone' => __('Phone Number'), 'postcode' => __('Zip/Postal Code'), ]; asort($attributes); return $attributes; } /** * Performs validation before save * * @param \Magento\Framework\Model\AbstractModel $object * @return $this * @throws \Magento\Framework\Exception\LocalizedException */ protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object) { parent::_beforeSave($object); if (!$object->getParentId() && $object->getOrder()) { $object->setParentId($object->getOrder()->getId()); } // Init customer address id if customer address is assigned $customerData = $object->getCustomerAddressData(); if ($customerData) { $object->setCustomerAddressId($customerData->getId()); } $warnings = $this->_validator->validate($object); if (!empty($warnings)) { throw new \Magento\Framework\Exception\LocalizedException( __("We can't save the address:\n%1", implode("\n", $warnings)) ); } return $this; } }