DisableAutoGroupAssignDefault.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Customer\Model\Config\Backend\CreateAccount;
  7. class DisableAutoGroupAssignDefault extends \Magento\Framework\App\Config\Value
  8. {
  9. /**
  10. * @var \Magento\Eav\Model\Config
  11. */
  12. protected $eavConfig;
  13. /**
  14. * @param \Magento\Framework\Model\Context $context
  15. * @param \Magento\Framework\Registry $registry
  16. * @param \Magento\Framework\App\Config\ScopeConfigInterface $config
  17. * @param \Magento\Framework\App\Cache\TypeListInterface $cacheTypeList
  18. * @param \Magento\Eav\Model\Config $eavConfig
  19. * @param \Magento\Framework\Model\ResourceModel\AbstractResource $resource
  20. * @param \Magento\Framework\Data\Collection\AbstractDb $resourceCollection
  21. * @param array $data
  22. */
  23. public function __construct(
  24. \Magento\Framework\Model\Context $context,
  25. \Magento\Framework\Registry $registry,
  26. \Magento\Framework\App\Config\ScopeConfigInterface $config,
  27. \Magento\Framework\App\Cache\TypeListInterface $cacheTypeList,
  28. \Magento\Eav\Model\Config $eavConfig,
  29. \Magento\Framework\Model\ResourceModel\AbstractResource $resource = null,
  30. \Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null,
  31. array $data = []
  32. ) {
  33. $this->eavConfig = $eavConfig;
  34. parent::__construct($context, $registry, $config, $cacheTypeList, $resource, $resourceCollection, $data);
  35. }
  36. /**
  37. * Save EAV default value after save
  38. *
  39. * @return $this
  40. */
  41. public function afterSave()
  42. {
  43. $result = parent::afterSave();
  44. $attributeObject = $this->eavConfig->getAttribute('customer', 'disable_auto_group_change');
  45. $attributeObject->setData('default_value', $this->getValue());
  46. $attributeObject->save();
  47. return $result;
  48. }
  49. }