| Current Path : /var/www/clients/client3/web2/web/vendor/magento/module-customer/Controller/Account/ |
| Current File : /var/www/clients/client3/web2/web/vendor/magento/module-customer/Controller/Account/Edit.php |
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Customer\Controller\Account;
use Magento\Customer\Api\CustomerRepositoryInterface;
use Magento\Customer\Model\Session;
use Magento\Framework\Api\DataObjectHelper;
use Magento\Framework\App\Action\Context;
use Magento\Framework\App\Action\HttpGetActionInterface;
use Magento\Framework\View\Result\PageFactory;
class Edit extends \Magento\Customer\Controller\AbstractAccount implements HttpGetActionInterface
{
/**
* @var \Magento\Customer\Api\CustomerRepositoryInterface
*/
protected $customerRepository;
/**
* @var \Magento\Framework\Api\DataObjectHelper
*/
protected $dataObjectHelper;
/**
* @var Session
*/
protected $session;
/**
* @var PageFactory
*/
protected $resultPageFactory;
/**
* @param Context $context
* @param Session $customerSession
* @param PageFactory $resultPageFactory
* @param CustomerRepositoryInterface $customerRepository
* @param DataObjectHelper $dataObjectHelper
*/
public function __construct(
Context $context,
Session $customerSession,
PageFactory $resultPageFactory,
CustomerRepositoryInterface $customerRepository,
DataObjectHelper $dataObjectHelper
) {
$this->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);
return $resultPage;
}
}