CustomerLoggedIn.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Weee\Observer;
  7. use Magento\Customer\Model\Session;
  8. use Magento\Framework\Event\Observer;
  9. use Magento\Framework\Event\ObserverInterface;
  10. use Magento\Framework\Module\Manager;
  11. use Magento\PageCache\Model\Config;
  12. use Magento\Tax\Api\TaxAddressManagerInterface;
  13. use Magento\Weee\Helper\Data;
  14. use Magento\Tax\Helper\Data as TaxHelper;
  15. class CustomerLoggedIn implements ObserverInterface
  16. {
  17. /**
  18. * @var Session
  19. */
  20. protected $customerSession;
  21. /**
  22. * @var Data
  23. */
  24. protected $weeeHelper;
  25. /**
  26. * Manager to save data in customer session.
  27. *
  28. * @var TaxAddressManagerInterface
  29. */
  30. private $addressManager;
  31. /**
  32. * Module manager
  33. *
  34. * @var Manager
  35. */
  36. private $moduleManager;
  37. /**
  38. * Cache config
  39. *
  40. * @var Config
  41. */
  42. private $cacheConfig;
  43. /**
  44. * @param Data $weeeHelper
  45. * @param Manager $moduleManager
  46. * @param Config $cacheConfig
  47. * @param TaxAddressManagerInterface $addressManager
  48. */
  49. public function __construct(
  50. Data $weeeHelper,
  51. Manager $moduleManager,
  52. Config $cacheConfig,
  53. TaxAddressManagerInterface $addressManager
  54. ) {
  55. $this->weeeHelper = $weeeHelper;
  56. $this->moduleManager = $moduleManager;
  57. $this->cacheConfig = $cacheConfig;
  58. $this->addressManager = $addressManager;
  59. }
  60. /**
  61. * @param Observer $observer
  62. * @return void
  63. * @SuppressWarnings(PHPMD.CyclomaticComplexity)
  64. */
  65. public function execute(Observer $observer)
  66. {
  67. if ($this->moduleManager->isEnabled('Magento_PageCache')
  68. && $this->cacheConfig->isEnabled()
  69. && $this->weeeHelper->isEnabled()
  70. ) {
  71. /** @var \Magento\Customer\Model\Data\Customer $customer */
  72. $customer = $observer->getData('customer');
  73. $addresses = $customer->getAddresses();
  74. if (isset($addresses)) {
  75. $this->addressManager->setDefaultAddressAfterLogIn($addresses);
  76. }
  77. }
  78. }
  79. }