get('Content')->getData('head'); $head->addAsset(AssetType::CSS, 'Modules/Profile/Theme/Backend/css/styles.css'); } /** * Routing end-point for application behaviour. * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * @param mixed $data Generic data * * @return RenderableInterface * * @todo Orange-Management/Modules#104 * Define account types to show * Currently all accounts are shown in the profile module. * The profile module should have an option to define which accounts to show (e.g. only employee models, partners etc.). * To do this the profile module either needs to request them from the modules or the modules have to provide these accounts. * * @since 1.0.0 */ public function viewProfileList(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); $view->setTemplate('/Modules/Profile/Theme/Backend/profile-list'); if ($request->getData('ptype') === 'p') { $view->setData('accounts', ProfileMapper::getBeforePivot((int) ($request->getData('id') ?? 0), null, 25)); } elseif ($request->getData('ptype') === 'n') { $view->setData('accounts', ProfileMapper::getAfterPivot((int) ($request->getData('id') ?? 0), null, 25)); } else { $view->setData('accounts', ProfileMapper::getAfterPivot(0, null, 25)); } return $view; } /** * Routing end-point for application behaviour. * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response * @param mixed $data Generic data * * @return RenderableInterface * * @todo Orange-Management/Modules#53 * Implement basic profile view * The profile view currently only contains fixed values this needs to change. * * @since 1.0.0 */ public function viewProfileSingle(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); /** @var \phpOMS\Model\Html\Head $head */ $head = $response->get('Content')->getData('head'); $head->addAsset(AssetType::CSS, '/Modules/Calendar/Theme/Backend/css/styles.css'); $view->setTemplate('/Modules/Profile/Theme/Backend/profile-single'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000301001, $request, $response)); $mediaListView = new \Modules\Media\Theme\Backend\Components\Media\BaseView($this->app->l11nManager, $request, $response); $mediaListView->setTemplate('/Modules/Media/Theme/Backend/Components/Media/list'); $view->addData('medialist', $mediaListView); $calendarView = new \Modules\Calendar\Theme\Backend\Components\Calendar\BaseView($this->app->l11nManager, $request, $response); $calendarView->setTemplate('/Modules/Calendar/Theme/Backend/Components/Calendar/mini'); $view->addData('calendar', $calendarView); $profile = $request->getData('for') !== null ? ProfileMapper::getFor((int) $request->getData('for'), 'account') : ProfileMapper::get((int) $request->getData('id')); $view->setData('account', $profile); $accGrpSelector = new \Modules\Profile\Theme\Backend\Components\AccountGroupSelector\BaseView($this->app->l11nManager, $request, $response); $view->addData('accGrpSelector', $accGrpSelector); $view->setData('media', MediaMapper::getFor((int) $profile->getAccount()->getId(), 'createdBy')); 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 */ public function viewProfileAdminSettings(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); $view->setTemplate('/Modules/Profile/Theme/Backend/modules-settings'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000300000, $request, $response)); 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 */ public function viewProfileAdminCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); $view->setTemplate('/Modules/Profile/Theme/Backend/modules-create'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000300000, $request, $response)); $accGrpSelector = new \Modules\Profile\Theme\Backend\Components\AccountGroupSelector\BaseView($this->app->l11nManager, $request, $response); $view->addData('accGrpSelector', $accGrpSelector); return $view; } }