/** * @param \Symfony\Component\Form\FormView $view * @param \Symfony\Component\Form\FormInterface $form * @param array $options */ public function buildView(FormView $view, FormInterface $form, array $options) { $view->vars['allow_add'] = $options['allow_add']; if ($options['allow_add']) { $view->vars['add_url'] = $this->routingHelper->generateUrl($this->adminManager->getAdmin($options['admin']), 'modalCreate'); $view->vars['add_label'] = $options['add_label']; } }
/** * @param \Symfony\Component\HttpFoundation\Request $request * @param \Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter $configuration * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException * @return bool|void */ public function apply(Request $request, ParamConverter $configuration) { $param = $configuration->getName(); $alias = $request->attributes->get('alias'); if (!$request->attributes->has('alias')) { throw new NotFoundHttpException('Cannot find admin without alias'); } try { $admin = $this->adminManager->getAdmin($alias); $request->attributes->set($param, $admin); $this->registry->addActivePath($admin->getDefaultPath()); } catch (\InvalidArgumentException $e) { throw new NotFoundHttpException(sprintf('Cannot find admin with alias "%s"', $alias)); } }
/** * Simple trivial test to check admin registration * */ public function testRegisterAdmin() { $adminManager = new AdminManager(); $admin = $this->getMock('Leapt\\AdminBundle\\Admin\\AdminInterface'); $adminManager->registerAdmin('foo', $admin); $this->assertInstanceOf('Leapt\\AdminBundle\\Admin\\AdminInterface', $adminManager->getAdmin('foo')); }
/** * @param $code * @return \Leapt\AdminBundle\Admin\AdminInterface */ public function getAdminByCode($code) { return $this->adminManager->getAdmin($code); }