session = $customerSession; $this->resultPageFactory = $resultPageFactory; $this->customerRepository = $customerRepository; $this->dataObjectHelper = $dataObjectHelper; parent::__construct($context); } /** * Forgot customer account information page * * @return \Magento\Framework\View\Result\Page */ public function execute() { /** @var \Magento\Framework\View\Result\Page $resultPage */ $resultPage = $this->resultPageFactory->create(); $block = $resultPage->getLayout()->getBlock('customer_edit'); if ($block) { $block->setRefererUrl($this->_redirect->getRefererUrl()); } $data = $this->session->getCustomerFormData(true); $customerId = $this->session->getCustomerId(); $customerDataObject = $this->customerRepository->getById($customerId); if (!empty($data)) { $this->dataObjectHelper->populateWithArray( $customerDataObject, $data, \Magento\Customer\Api\Data\CustomerInterface::class ); } $this->session->setCustomerData($customerDataObject); $this->session->setChangePassword($this->getRequest()->getParam('changepass') == 1); $resultPage->getConfig()->getTitle()->set(__('Account Information')); return $resultPage; } }