app->l11nManager, $request, $response); $view->setTemplate('/Modules/HumanResourceTimeRecording/Theme/Backend/dashboard'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1006301001, $request, $response)); $list = SessionMapper::getLastSessionsFromAllEmployees(new \DateTime('now')); $view->addData('sessions', $list); return $view; } /** * Routing end-point for application behaviour. * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * @param mixed $data Generic data * * @return RenderableInterface * * @since 1.0.0 * @codeCoverageIgnore */ public function viewPrivateDashboard(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); $view->setTemplate('/Modules/HumanResourceTimeRecording/Theme/Backend/private-dashboard'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1006303001, $request, $response)); $employee = EmployeeMapper::getFromAccount($request->header->account)->getId(); $lastOpenSession = SessionMapper::getMostPlausibleOpenSessionForEmployee($employee); $start = new SmartDateTime('now'); $start = $start->getEndOfDay(); $limit = $start->getEndOfMonth(); $limit->smartModify(0, -2, 0); $list = SessionMapper::getSessionListForEmployee($employee, $start, 0); $view->addData('sessions', $list); $view->addData('lastSession', $lastOpenSession); $view->addData('date', $limit); return $view; } /** * Routing end-point for application behaviour. * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * @param mixed $data Generic data * * @return RenderableInterface * * @since 1.0.0 * @codeCoverageIgnore */ public function viewPrivateSession(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); $view->setTemplate('/Modules/HumanResourceTimeRecording/Theme/Backend/private-session'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1006303001, $request, $response)); $session = SessionMapper::get((int) $request->getData('id')); $employee = EmployeeMapper::getFromAccount($request->header->account)->getId(); if ($session->getEmployee()->getId() !== $employee) { $view->addData('session', new NullSession()); } else { $view->addData('session', $session); } return $view; } /** * Routing end-point for application behaviour. * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * @param mixed $data Generic data * * @return RenderableInterface * * @since 1.0.0 * @codeCoverageIgnore */ public function viewHRStats(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); $view->setTemplate('/Modules/HumanResourceTimeRecording/Theme/Backend/hr-stats'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1006301001, $request, $response)); $list = SessionMapper::getLastSessionsFromAllEmployees(new \DateTime('now')); $view->addData('sessions', $list); return $view; } }