RegisterCatalogValuesOrderStatuses.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. namespace Dotdigitalgroup\Email\Observer\Catalog;
  3. class RegisterCatalogValuesOrderStatuses implements \Magento\Framework\Event\ObserverInterface
  4. {
  5. /**
  6. * @var \Magento\Framework\Registry
  7. */
  8. private $registry;
  9. /**
  10. * RegisterCatalogValuesOrderStatuses constructor.
  11. *
  12. * @param \Magento\Framework\Registry $registry
  13. */
  14. public function __construct(
  15. \Magento\Framework\Registry $registry
  16. ) {
  17. $this->registry = $registry;
  18. }
  19. /**
  20. * Execute method.
  21. *
  22. * @param \Magento\Framework\Event\Observer $observer
  23. *
  24. * @return $this
  25. */
  26. public function execute(\Magento\Framework\Event\Observer $observer)
  27. {
  28. //register catalog values
  29. if (!$this->registry->registry('core_config_data_save_before')) {
  30. if ($groups = $observer->getEvent()->getConfigData()->getGroups()) {
  31. if (isset($groups['catalog_sync']['fields']['catalog_values']['value'])) {
  32. $value
  33. = $groups['catalog_sync']['fields']['catalog_values']['value'];
  34. $this->registry->unregister('core_config_data_save_before'); // additional measure
  35. $this->registry->register(
  36. 'core_config_data_save_before',
  37. $value
  38. );
  39. }
  40. }
  41. }
  42. //register order statuses
  43. if (!$this->registry->registry('core_config_data_save_before_status')) {
  44. if ($groups = $observer->getEvent()->getConfigData()->getGroups()) {
  45. if (isset($groups['data_fields']['fields']['order_statuses']['value'])) {
  46. $value
  47. = $groups['data_fields']['fields']['order_statuses']['value'];
  48. $this->registry->unregister('core_config_data_save_before_status'); // additional measure
  49. $this->registry->register(
  50. 'core_config_data_save_before_status',
  51. $value
  52. );
  53. }
  54. }
  55. }
  56. return $this;
  57. }
  58. }