Store.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Customer\Model\Customer\Attribute\Backend;
  7. /**
  8. * Store attribute backend
  9. *
  10. * @author Magento Core Team <core@magentocommerce.com>
  11. */
  12. class Store extends \Magento\Eav\Model\Entity\Attribute\Backend\AbstractBackend
  13. {
  14. /**
  15. * @var \Magento\Store\Model\StoreManagerInterface
  16. */
  17. protected $_storeManager;
  18. /**
  19. * @param \Magento\Store\Model\StoreManagerInterface $storeManager
  20. */
  21. public function __construct(\Magento\Store\Model\StoreManagerInterface $storeManager)
  22. {
  23. $this->_storeManager = $storeManager;
  24. }
  25. /**
  26. * Before save
  27. *
  28. * @param \Magento\Framework\DataObject $object
  29. * @return $this
  30. */
  31. public function beforeSave($object)
  32. {
  33. if ($object->getId()) {
  34. return $this;
  35. }
  36. if (!$object->hasStoreId()) {
  37. $object->setStoreId($this->_storeManager->getStore()->getId());
  38. }
  39. if (!$object->hasData('created_in')) {
  40. $object->setData('created_in', $this->_storeManager->getStore($object->getStoreId())->getName());
  41. }
  42. return $this;
  43. }
  44. }