Example #1
0
 /**
  * Get form
  *
  * @param Category $category
  *
  * @return \Symfony\Component\Form\Form
  * @throws \Rad\DependencyInjection\Exception\ServiceNotFoundException
  */
 public function getForm(Category $category = null)
 {
     $data = null;
     if ($category) {
         $data = $category->toArray();
     }
     $action = $category ? Container::get('router')->generateUrl(['categories', $data['id']]) : Container::get('router')->generateUrl(['categories']);
     $formFactory = Forms::createFormFactory();
     $options = ['action' => $action, 'method' => $category ? 'PUT' : 'POST'];
     $event = $this->getEventManager()->dispatch(self::EVENT_CATEGORIES_FORM_SCOPE, $this);
     /** @var CategoriesTable $categoriesTable */
     $categoriesTable = TableRegistry::get('Categories.Categories');
     $treeList = $categoriesTable->find('treeList');
     if (!empty($category)) {
         $treeList->where(['id !=' => $data['id']]);
     }
     $formBuilder = $formFactory->createBuilder('form', $data, $options)->add('title', 'text', ['required' => true, 'attr' => ['class' => 'form-control']])->add('slug', 'text', ['required' => true, 'attr' => ['class' => 'form-control']])->add('parent_id', 'choice', ['choices' => $treeList->toArray(), 'empty_data' => null, 'empty_value' => 'No Parent', 'label' => 'Parent', 'required' => false]);
     if (!empty($event->getResult())) {
         $choices = $event->getResult();
         if (!is_array($choices)) {
             $choices = [$choices];
         }
         $formBuilder->add('scope', 'choice', ['choices' => $choices, 'label' => 'Group']);
     }
     return $formBuilder->add('description', 'textarea', ['required' => false, 'attr' => ['class' => 'form-control wysiwyg']])->add('submit', 'submit')->getForm();
 }
 /**
  * @throws \Twig_Error_Loader
  */
 protected function setUp()
 {
     // Setup factory for tabs
     $this->tabFactory = Forms::createFormFactory();
     parent::setUp();
     $rendererEngine = new TwigRendererEngine(array('form_div_layout.html.twig', 'fields.html.twig'));
     if (interface_exists('Symfony\\Component\\Security\\Csrf\\CsrfTokenManagerInterface')) {
         $csrfProviderInterface = 'Symfony\\Component\\Security\\Csrf\\CsrfTokenManagerInterface';
     } else {
         $csrfProviderInterface = 'Symfony\\Component\\Form\\Extension\\Csrf\\CsrfProvider\\CsrfProviderInterface';
     }
     $renderer = new TwigRenderer($rendererEngine, $this->getMock($csrfProviderInterface));
     $this->extension = new FormExtension($renderer);
     $reflection = new \ReflectionClass($renderer);
     $bridgeDirectory = dirname($reflection->getFileName()) . '/../Resources/views/Form';
     $loader = new \Twig_Loader_Filesystem(array($bridgeDirectory, __DIR__ . '/../../Resources/views/Form'));
     $loader->addPath(__DIR__ . '/../../Resources/views', 'MopaBootstrap');
     $environment = new Twig_Environment($loader, array('strict_variables' => true));
     $environment->addExtension(new TranslationExtension(new StubTranslator()));
     $environment->addExtension(new IconExtension('fontawesome'));
     $environment->addExtension(new FormExtension2());
     $environment->addGlobal('global', '');
     $environment->addExtension($this->extension);
     $this->extension->initRuntime($environment);
 }
Example #3
0
 public function ajouterAction(Request $request)
 {
     $em = $this->getDoctrine()->getManager();
     $sysmatricule = $this->get('trc_core.matricule');
     $profil = new Profil();
     $formFactory = Forms::createFormFactory();
     $form = $this->get('form.factory')->create(new ProfilType(), $profil);
     if ($form->handleRequest($request)->isValid()) {
         $profil->setMatricule($sysmatricule->matriculeStandard($profil));
         $em->persist($profil);
         $em->flush();
         return $this->redirect($this->generateUrl('trc_admin_profils'));
     }
     $p = 1;
     $nbre = 5;
     $criteres = array();
     if ($request->query->get('p') !== null && !empty($request->query->get('p'))) {
         $p = $request->query->get('p');
     }
     $id = ($p - 1) * $nbre;
     if ($id < 0) {
         $id = 0;
     }
     $profils = $em->getRepository('TRCCoreBundle:Profil')->findBy($criteres, array(), $nbre, $id);
     $servicePagination = $this->get('trc_core.pagination');
     $objet = 'Profil';
     $url = $this->generateUrl('trc_admin_profils');
     $urlRoute = 'trc_admin_profils';
     $pagination = $servicePagination->pagination($objet, $p, $url, $urlRoute, $criteres, $nbre);
     return $this->render('TRCAdminBundle:Profils:ajouter.html.twig', array('form' => $form->createView(), 'profils' => $profils, 'pagination' => $pagination));
 }
Example #4
0
 /**
  * @param Entity $page
  *
  * @return \Symfony\Component\Form\Form
  * @throws \Rad\DependencyInjection\Exception\ServiceNotFoundException
  */
 public static function getForm($page = null)
 {
     $data = null;
     if ($page) {
         $data = $page->toArray();
     }
     $action = $page ? Container::get('router')->generateUrl(['pages', $data['slug']]) : Container::get('router')->generateUrl(['pages']);
     $formFactory = Forms::createFormFactory();
     $options = ['action' => $action, 'method' => $page ? 'PUT' : 'POST'];
     return $formFactory->createBuilder('form', $data, $options)->add('title', 'text', ['required' => true, 'attr' => ['class' => 'form-control']])->add('slug', 'text', ['required' => true, 'attr' => ['class' => 'form-control']])->add('body', 'textarea', ['required' => true, 'attr' => ['class' => 'form-control wysiwyg']])->add('submit', 'submit')->getForm();
 }
Example #5
0
 public function create($request, $response)
 {
     $formFactory = Forms::createFormFactory();
     /* @var $form \Symfony\Component\Form\Form */
     $form = $formFactory->create(new BookType());
     $form->handleRequest();
     if ($form->isValid()) {
         $this->em->persist($form->getData());
         $this->em->flush();
         $this->session->getFlashBag()->add('notice', 'Book inserted');
         $response = new RedirectResponse('/book');
         return $response;
     }
     return $response->create($this->template->render('book/create.html.twig', ['title' => 'New Book', 'form' => $form->createView()]));
 }
 public function utilisateursAjouterAction(Request $request, $matricule = null)
 {
     $em = $this->getDoctrine()->getManager();
     $gu = $this->get('trc_core.gu');
     $utilisateur = new Utilisateur();
     $imageFile = $utilisateur->getImage();
     $formFactory = Forms::createFormFactory();
     $form = $this->get('form.factory')->create(new UtilisateurType(), $utilisateur);
     if ($form->handleRequest($request)->isValid()) {
         if ($utilisateur->getImage() == null) {
             $utilisateur->setImage($imageFile);
         } else {
             $file = $form['image']->getData();
             $utilisateur->setImage($file);
         }
         $utilisateur = $gu->creerUtilisateur($utilisateur, $this->getUser());
         $em->persist($utilisateur);
         $em->flush();
         return $this->redirect($this->generateUrl('trc_admin_utilisateurs_voir', array('matricule' => $utilisateur->getMatricule())));
     }
     return $this->render('TRCAdminBundle:Utilisateurs:utilisateursAjouter.html.twig', array('form' => $form->createView(), 'objet' => $utilisateur));
 }
Example #7
0
 /**
  * @dataProvider exceptionWrapperSerializeResponseContentProvider
  * @param string $format
  */
 public function testCreateResponseWithFormErrorsAndSerializationGroups($format)
 {
     $form = Forms::createFormFactory()->createBuilder()->add('name', 'text')->add('description', 'text')->getForm();
     $form->get('name')->addError(new FormError('Invalid name'));
     $exceptionWrapper = new ExceptionWrapper(array('status_code' => 400, 'message' => 'Validation Failed', 'errors' => $form));
     $view = new View($exceptionWrapper);
     $view->getSerializationContext()->setGroups(array('Custom'));
     $wrapperHandler = new ExceptionWrapperSerializeHandler();
     $translatorMock = $this->getMock('Symfony\\Component\\Translation\\TranslatorInterface', array('trans', 'transChoice', 'setLocale', 'getLocale'));
     $translatorMock->expects($this->any())->method('trans')->will($this->returnArgument(0));
     $formErrorHandler = new FormErrorHandler($translatorMock);
     $serializer = SerializerBuilder::create()->configureHandlers(function (HandlerRegistry $handlerRegistry) use($wrapperHandler, $formErrorHandler) {
         $handlerRegistry->registerSubscribingHandler($wrapperHandler);
         $handlerRegistry->registerSubscribingHandler($formErrorHandler);
     })->build();
     $container = $this->getMock('Symfony\\Component\\DependencyInjection\\Container', array('get'));
     $container->expects($this->once())->method('get')->with('fos_rest.serializer')->will($this->returnValue($serializer));
     $viewHandler = new ViewHandler(array());
     $viewHandler->setContainer($container);
     $response = $viewHandler->createResponse($view, new Request(), $format);
     $serializer2 = SerializerBuilder::create()->configureHandlers(function (HandlerRegistry $handlerRegistry) use($wrapperHandler, $formErrorHandler) {
         $handlerRegistry->registerSubscribingHandler($formErrorHandler);
     })->build();
     $container2 = $this->getMock('Symfony\\Component\\DependencyInjection\\Container', array('get'));
     $container2->expects($this->once())->method('get')->with('fos_rest.serializer')->will($this->returnValue($serializer2));
     $viewHandler = new ViewHandler(array());
     $viewHandler->setContainer($container2);
     $view2 = new View($exceptionWrapper);
     $response2 = $viewHandler->createResponse($view2, new Request(), $format);
     $this->assertEquals($response->getContent(), $response2->getContent());
 }
Example #8
0
 /**
  * @dataProvider exceptionWrapperSerializeResponseContentProvider
  *
  * @param string $format
  */
 public function testCreateResponseWithFormErrorsAndSerializationGroups($format)
 {
     // BC hack for Symfony 2.7 where FormType's didn't yet get configured via the FQN
     $formType = method_exists('Symfony\\Component\\Form\\AbstractType', 'getBlockPrefix') ? 'Symfony\\Component\\Form\\Extension\\Core\\Type\\TextType' : 'text';
     $form = Forms::createFormFactory()->createBuilder()->add('name', $formType)->add('description', $formType)->getForm();
     $form->get('name')->addError(new FormError('Invalid name'));
     $exceptionWrapper = new ExceptionWrapper(['status_code' => 400, 'message' => 'Validation Failed', 'errors' => $form]);
     $view = new View($exceptionWrapper);
     $view->getContext()->addGroups(array('Custom'));
     $translatorMock = $this->getMock('Symfony\\Component\\Translation\\TranslatorInterface', ['trans', 'transChoice', 'setLocale', 'getLocale']);
     $translatorMock->expects($this->any())->method('trans')->will($this->returnArgument(0));
     $viewHandler = $this->createViewHandler([]);
     $response = $viewHandler->createResponse($view, new Request(), $format);
     $viewHandler = $this->createViewHandler([]);
     $view2 = new View($exceptionWrapper);
     $response2 = $viewHandler->createResponse($view2, new Request(), $format);
     $this->assertEquals($response->getContent(), $response2->getContent());
 }
Example #9
0
 /**
  * @dataProvider exceptionWrapperSerializeResponseContentProvider
  *
  * @param string $format
  */
 public function testCreateResponseWithFormErrorsAndSerializationGroups($format)
 {
     $form = Forms::createFormFactory()->createBuilder()->add('name', 'text')->add('description', 'text')->getForm();
     $form->get('name')->addError(new FormError('Invalid name'));
     $exceptionWrapper = new ExceptionWrapper(['status_code' => 400, 'message' => 'Validation Failed', 'errors' => $form]);
     $view = new View($exceptionWrapper);
     $view->getSerializationContext()->addGroups(['Custom']);
     $wrapperHandler = new ExceptionWrapperSerializeHandler();
     $translatorMock = $this->getMock('Symfony\\Component\\Translation\\TranslatorInterface', ['trans', 'transChoice', 'setLocale', 'getLocale']);
     $translatorMock->expects($this->any())->method('trans')->will($this->returnArgument(0));
     $formErrorHandler = new FormErrorHandler($translatorMock);
     $serializer = SerializerBuilder::create()->configureHandlers(function (HandlerRegistry $handlerRegistry) use($wrapperHandler, $formErrorHandler) {
         $handlerRegistry->registerSubscribingHandler($wrapperHandler);
         $handlerRegistry->registerSubscribingHandler($formErrorHandler);
     })->build();
     $adapter = $this->getMock('FOS\\RestBundle\\Context\\Adapter\\SerializationContextAdapterInterface');
     $container = $this->getMock('Symfony\\Component\\DependencyInjection\\Container', ['get']);
     $container->expects($this->any())->method('get')->with($this->logicalOr($this->equalTo('fos_rest.serializer'), $this->equalTo('fos_rest.context.adapter.chain_context_adapter')))->will($this->returnCallback(function ($method) use($serializer, $adapter) {
         switch ($method) {
             case 'fos_rest.serializer':
                 return $serializer;
             case 'fos_rest.context.adapter.chain_context_adapter':
                 return $adapter;
         }
     }));
     $viewHandler = new ViewHandler([]);
     $viewHandler->setSerializationContextAdapter($this->getMock('FOS\\RestBundle\\Context\\Adapter\\SerializationContextAdapterInterface'));
     $viewHandler->setContainer($container);
     $response = $viewHandler->createResponse($view, new Request(), $format);
     $serializer2 = SerializerBuilder::create()->configureHandlers(function (HandlerRegistry $handlerRegistry) use($wrapperHandler, $formErrorHandler) {
         $handlerRegistry->registerSubscribingHandler($formErrorHandler);
     })->build();
     $container2 = $this->getMock('Symfony\\Component\\DependencyInjection\\Container', ['get']);
     $container2->expects($this->any())->method('get')->with($this->logicalOr($this->equalTo('fos_rest.serializer'), $this->equalTo('fos_rest.context.adapter.chain_context_adapter')))->will($this->returnCallback(function ($method) use($serializer2, $adapter) {
         switch ($method) {
             case 'fos_rest.serializer':
                 return $serializer2;
             case 'fos_rest.context.adapter.chain_context_adapter':
                 return $adapter;
         }
     }));
     $viewHandler = new ViewHandler([]);
     $viewHandler->setSerializationContextAdapter($this->getMock('FOS\\RestBundle\\Context\\Adapter\\SerializationContextAdapterInterface'));
     $viewHandler->setContainer($container2);
     $view2 = new View($exceptionWrapper);
     $response2 = $viewHandler->createResponse($view2, new Request(), $format);
     $this->assertEquals($response->getContent(), $response2->getContent());
 }
 public function setUp()
 {
     $this->formFactory = Forms::createFormFactory();
 }
use Monolog\Logger;
use Monolog\Processor\UidProcessor;
use Slim\Container;
use Slim\Views\Twig;
use Slim\Views\TwigExtension;
use Symfony\Bridge\Twig\Extension\FormExtension;
use Symfony\Bridge\Twig\Extension\TranslationExtension;
use Symfony\Bridge\Twig\Form\TwigRenderer;
use Symfony\Bridge\Twig\Form\TwigRendererEngine;
use Symfony\Component\Form\Forms;
use Symfony\Component\Translation\MessageSelector;
use Symfony\Component\Translation\Translator;
$container = $app->getContainer();
// form factory
$container['form_factory'] = function (Container $c) {
    return Forms::createFormFactory();
};
// monolog
$container['logger'] = function (Container $c) {
    $settings = $c->get('settings')['logger'];
    $logger = new Logger($settings['name']);
    $logger->pushProcessor(new UidProcessor());
    $logger->pushHandler(new StreamHandler($settings['path'], Logger::DEBUG));
    return $logger;
};
// view
$container['view'] = function (Container $c) {
    $settings = $c->get('settings')['view'];
    // symfony form: get the path to the default layout
    $extension = new \ReflectionClass('Symfony\\Bridge\\Twig\\Extension\\FormExtension');
    $path = dirname($extension->getFileName()) . '/../Resources/views/Form';
Example #12
0
/**
 * @codeCoverageIgnore
 */
// @codeCoverageIgnoreStart
use App\Singleton\App;
use Doctrine\ORM\Tools\Setup;
use Symfony\Bridge\Twig\Extension\FormExtension;
$container = App::getContainer();
$container->set('twigLoader', function () {
    return new Twig_Loader_Filesystem();
});
$container->set('twigEnvironment', function () {
    return new Twig_Environment();
});
$container->set('viewer', function () use($container) {
    return new \App\Http\Viewer($container->get('twigLoader'), $container->get('twigEnvironment'));
});
$container->set('dispatcher', function () use($container) {
    return new \App\Http\Dispatcher($container->get('App\\Utility\\Collection'), $container->get('viewer'));
});
$container->set('entityManager', function () {
    $config = Setup::createAnnotationMetadataConfiguration(array(__DIR__ . '/../src/' . APP . '/Model/Entity'), true);
    $connectionParams = array('dbname' => DB_NAME, 'user' => DB_USERNAME, 'password' => DB_PASSWORD, 'host' => DB_HOST, 'driver' => DB_DRIVER);
    $entityManager = \Doctrine\ORM\EntityManager::create($connectionParams, $config);
    return $entityManager;
});
$container->set('formFactory', function () {
    return \Symfony\Component\Form\Forms::createFormFactory();
});
// @codeCoverageIgnoreEnd
Example #13
0
 public function setUp()
 {
     $this->errorTranslator = new ErrorTranslator();
     $this->formBuilder = Forms::createFormFactory()->createBuilder();
 }