/** * Forgot customer account information page * * @return \Magento\Framework\View\Result\Page */ public function executeInternal() { /** @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'); } $this->session->setCustomerData($customerDataObject); $this->session->setChangePassword($this->getRequest()->getParam('changepass') == 1); $resultPage->getConfig()->getTitle()->set(__('Account Information')); $resultPage->getLayout()->getBlock('messages')->setEscapeMessageFlag(true); return $resultPage; }
/** * Retrieve form data * * @return mixed */ public function getFormData() { $data = $this->getData('form_data'); if ($data === null) { $formData = $this->_customerSession->getCustomerFormData(true); $data = new \Magento\Framework\DataObject(); if ($formData) { $data->addData($formData); $data->setCustomerData(1); } if (isset($data['region_id'])) { $data['region_id'] = (int) $data['region_id']; } $this->setData('form_data', $data); } return $data; }