. */ namespace SP\Controller; use SP\Controller\Grids\Notices; use SP\Core\Acl\ActionsInterface; use SP\Core\Exceptions\SPException; use SP\Mgmt\Notices\Notice; /** * Class NoticesController * * @package SP\Controller */ class NoticesController extends GridTabControllerBase implements ActionsInterface { /** * Realizar las acciones del controlador * * @param mixed $type Tipo de acción */ public function doAction($type = null) { try { $this->useTabs(); $this->getUserNotices(); $this->eventDispatcher->notifyEvent('show.itemlist.notices', $this); } catch (SPException $e) { $this->showError(self::ERR_EXCEPTION); } } /** * Inicializar las plantillas para las pestañas */ public function useTabs() { $this->Grids = new Notices(); $this->view->addTemplate('datatabs-grid', 'grid'); $this->view->assign('tabs', []); $this->view->assign('activeTab', 0); $this->view->assign('maxNumActions', self::MAX_NUM_ACTIONS); } /** * Obtener los datos para la pestaña de categorías * * @throws \SP\Core\Exceptions\SPException */ public function getUserNotices() { $this->setAction(self::NOTICE_USER); if (!$this->checkAccess()) { return; } $Grid = $this->getGrids()->getNoticesGrid(); $Grid->getData()->setData(Notice::getItem()->getAllForUser()); $Grid->updatePager(); $this->view->append('tabs', $Grid); } /** * @return Notices */ public function getGrids() { return $this->Grids; } }