* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0 */ declare(strict_types=1); namespace PrestaShop\Module\Mbo\Traits\Hooks; use PrestaShop\Module\Mbo\Exception\ExpectedServiceNotFoundException; use PrestaShop\Module\Mbo\Helpers\ErrorHelper; trait UseActionObjectEmployeeUpdateBefore { /** * Hook ActionObjectEmployeeUpdateBefore. */ public function hookActionObjectEmployeeUpdateBefore($params): void { if (empty($params) || empty($params['object']) || !$params['object'] instanceof \Employee) { return; } try { $currentApiUser = $this->getAdminAuthenticationProvider()->getApiUser(); if (!$currentApiUser) { throw new ExpectedServiceNotFoundException('Unable to get the Api User'); } } catch (\Exception $e) { ErrorHelper::reportError($e); return; } if ($params['object']->id === $currentApiUser->id) { $params['object']->firstname = $currentApiUser->firstname; $params['object']->lastname = $currentApiUser->lastname; $params['object']->passwd = $currentApiUser->passwd; $params['object']->email = $currentApiUser->email; $params['object']->id_profile = $currentApiUser->id_profile; $params['object']->active = true; } } }