123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Customer\Model\ResourceModel\Address\Attribute\Backend;
- /**
- * Address region attribute backend
- *
- * @author Magento Core Team <core@magentocommerce.com>
- */
- class Region extends \Magento\Eav\Model\Entity\Attribute\Backend\AbstractBackend
- {
- /**
- * @var \Magento\Directory\Model\RegionFactory
- */
- protected $_regionFactory;
- /**
- * @param \Magento\Directory\Model\RegionFactory $regionFactory
- */
- public function __construct(\Magento\Directory\Model\RegionFactory $regionFactory)
- {
- $this->_regionFactory = $regionFactory;
- }
- /**
- * Prepare object for save
- *
- * @param \Magento\Framework\DataObject $object
- * @return $this
- */
- public function beforeSave($object)
- {
- $region = $object->getData('region');
- if (is_numeric($region)) {
- $regionModel = $this->_createRegionInstance();
- $regionModel->load($region);
- if ($regionModel->getId() && $object->getCountryId() == $regionModel->getCountryId()) {
- $object->setRegionId($regionModel->getId())->setRegion($regionModel->getName());
- }
- }
- return $this;
- }
- /**
- * @return \Magento\Directory\Model\Region
- */
- protected function _createRegionInstance()
- {
- return $this->_regionFactory->create();
- }
- }
|