app->l11nManager, $request, $response); $view->setTemplate('/Modules/HumanResourceManagement/Theme/Backend/staff-list'); $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1002402001, $request, $response); $view->data['employees'] = EmployeeMapper::getAll() ->with('profile') ->with('profile/account') ->with('image') ->with('profile/image') ->with('companyHistory') ->with('companyHistory/unit') ->execute(); /** @var \Model\Setting $profileImage */ $profileImage = $this->app->appSettings->get(names: SettingsEnum::DEFAULT_PROFILE_IMAGE, module: 'Profile'); /** @var \Modules\Media\Models\Media $image */ $image = MediaMapper::get() ->where('id', (int) $profileImage->content) ->execute(); $view->data['defaultImage'] = $image; return $view; } /** * Routing end-point for application behavior. * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * @param array $data Generic data * * @return RenderableInterface * * @since 1.0.0 * @codeCoverageIgnore */ public function viewHrStaffCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); $view->setTemplate('/Modules/HumanResourceManagement/Theme/Backend/staff-create'); $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1002402001, $request, $response); $accSelector = new \Modules\Profile\Theme\Backend\Components\AccountGroupSelector\BaseView($this->app->l11nManager, $request, $response); $view->data['accSelector'] = $accSelector; return $view; } /** * Routing end-point for application behavior. * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * @param array $data Generic data * * @return RenderableInterface * * @since 1.0.0 * @codeCoverageIgnore */ public function viewHrStaffView(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); $view->setTemplate('/Modules/HumanResourceManagement/Theme/Backend/staff-view'); $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1002402001, $request, $response); $employee = EmployeeMapper::get() ->with('profile') ->with('profile/account') ->with('image') ->with('notes') ->with('files') ->with('profile/image') ->with('companyHistory') ->with('companyHistory/unit') ->with('companyHistory/department') ->with('companyHistory/position') ->with('educationHistory') ->with('educationHistory/unit') ->with('educationHistory/department') ->with('educationHistory/position') ->with('workHistory') ->with('workHistory/unit') ->with('workHistory/department') ->with('workHistory/position') ->where('id', (int) $request->getData('id')) ->sort('companyHistory/start', OrderType::DESC) ->sort('educationHistory/start', OrderType::DESC) ->sort('workHistory/start', OrderType::DESC) ->execute(); $view->data['employee'] = $employee; $view->data['media-upload'] = new \Modules\Media\Theme\Backend\Components\Upload\BaseView($this->app->l11nManager, $request, $response); $view->data['employee-notes'] = new \Modules\Editor\Theme\Backend\Components\Compound\BaseView($this->app->l11nManager, $request, $response); if ($this->app->moduleManager->isActive('HumanResourceTimeRecording')) { /** @var \Modules\HumanResourceTimeRecording\Models\Session $lastOpenSession */ $lastOpenSession = SessionMapper::getMostPlausibleOpenSessionForEmployee($employee->id); $start = new SmartDateTime('now'); $start = $start->getEndOfDay(); $limit = $start->getEndOfMonth(); $limit->smartModify(0, -2, 0); $list = SessionMapper::getAll() ->with('sessionElements') ->where('employee', $employee->id) ->where('start', $start, '<=') ->sort('start', OrderType::DESC) ->execute(); $view->data['sessions'] = $list; $view->data['lastSession'] = $lastOpenSession; } return $view; } /** * Routing end-point for application behavior. * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * @param array $data Generic data * * @return RenderableInterface * * @since 1.0.0 * @codeCoverageIgnore */ public function viewHrDepartmentList(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); $view->setTemplate('/Modules/HumanResourceManagement/Theme/Backend/department-list'); $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1002403001, $request, $response); $view->data['departments'] = DepartmentMapper::getAll(); return $view; } /** * Routing end-point for application behavior. * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * @param array $data Generic data * * @return RenderableInterface * * @since 1.0.0 * @codeCoverageIgnore */ public function viewHrPositionList(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); $view->setTemplate('/Modules/HumanResourceManagement/Theme/Backend/position-list'); $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1002403001, $request, $response); $view->data['departments'] = DepartmentMapper::getAll(); return $view; } /** * Routing end-point for application behavior. * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * @param array $data Generic data * * @return RenderableInterface * * @since 1.0.0 * @codeCoverageIgnore */ public function viewHrPositionCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); $view->setTemplate('/Modules/HumanResourceManagement/Theme/Backend/position-create'); $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1002402001, $request, $response); $accSelector = new \Modules\Profile\Theme\Backend\Components\AccountGroupSelector\BaseView($this->app->l11nManager, $request, $response); $view->data['accSelector'] = $accSelector; return $view; } }