. */ namespace SP\Modules\Web\Controllers\AccountFile; use Exception; use SP\Core\Acl\Acl; use SP\Core\Events\Event; use SP\Domain\Core\Acl\AclActionsInterface; use SP\Util\ErrorUtil; /** * Class ListController * * @package SP\Modules\Web\Controllers */ final class ListController extends AccountFileBase { /** * Obtener los datos para la vista de archivos de una cuenta * * @param int $accountId Account's ID */ public function listAction(int $accountId): void { if (!$this->configData->isFilesEnabled()) { echo __('Files management disabled'); return; } try { $this->view->addTemplate('files-list', 'account'); $this->view->assign('deleteEnabled', $this->request->analyzeInt('del', false)); $this->view->assign('files', $this->accountFileService->getByAccountId($accountId)); $this->view->assign('fileViewRoute', Acl::getActionRoute(AclActionsInterface::ACCOUNT_FILE_VIEW)); $this->view->assign('fileDownloadRoute', Acl::getActionRoute(AclActionsInterface::ACCOUNT_FILE_DOWNLOAD)); $this->view->assign('fileDeleteRoute', Acl::getActionRoute(AclActionsInterface::ACCOUNT_FILE_DELETE)); if (!is_array($this->view->files) || count($this->view->files) === 0) { $this->view->addTemplate('no_records_found', '_partials'); $this->view->assign('message', __('There are no linked files for the account')); $this->view(); return; } $this->eventDispatcher->notify('list.accountFile', new Event($this)); } catch (Exception $e) { processException($e); ErrorUtil::showErrorInView( $this->view, ErrorUtil::ERR_EXCEPTION, true, 'files-list' ); } $this->view(); } }