. */ namespace SP\Modules\Web\Controllers\Account; use SP\Core\Application; use SP\Core\Context\ContextBase; use SP\Domain\Account\Services\AccountAclService; use SP\Modules\Web\Controllers\ControllerBase; use SP\Mvc\Controller\WebControllerHelper; /** * AccountControllerBase */ abstract class AccountControllerBase extends ControllerBase { private const LOGIN_NOT_REQUIRED = ['ViewLinkController']; /** * @param \SP\Core\Application $application * @param \SP\Mvc\Controller\WebControllerHelper $webControllerHelper * * @throws \SP\Core\Exceptions\SessionTimeout * @throws \SP\Domain\Auth\Services\AuthException */ public function __construct(Application $application, WebControllerHelper $webControllerHelper) { parent::__construct($application, $webControllerHelper); $this->initialize(); } /** * Initialize class * * @throws \SP\Core\Exceptions\SessionTimeout * @throws \SP\Domain\Auth\Services\AuthException */ private function initialize(): void { if (in_array(static::class, self::LOGIN_NOT_REQUIRED)) { $this->checkLoggedIn(); } if (DEBUG === true && $this->session->getAppStatus() === ContextBase::APP_STATUS_RELOADED) { $this->session->resetAppStatus(); // Reset de los datos de ACL de cuentas AccountAclService::clearAcl($this->session->getUserData()->getId()); } } }