Пример #1
0
 /**
  * @param Request $request
  * @param Application $app
  * 
  * @return mixed
  */
 public function agregar(Request $request, Application $app)
 {
     $categoriaModelo = new CategoriaModelo($app['db']);
     $categorias = $categoriaModelo->getTodo();
     $options = array();
     foreach ($categorias as $categoria) {
         $options[$categoria['id']] = $categoria['nombre'];
     }
     $initial_data = array('categoria_superior' => '', 'nombre' => '');
     $form = $app['form.factory']->createBuilder('form', $initial_data);
     $form = $form->add('categoria_superior', 'choice', array('choices' => $options, 'required' => true));
     $form = $form->add('nombre', 'text', array('required' => true));
     $form = $form->getForm();
     if ("POST" == $request->getMethod()) {
         $form->handleRequest($request);
         if ($form->isValid()) {
             $data = $form->getData();
             $filasAfectadas = $categoriaModelo->guardar($data['categoria_superior'], $data['nombre']);
             if ($filasAfectadas == 1) {
                 $app['session']->getFlashBag()->add('success', array('message' => '¡Categoría creada!'));
             }
             return $app->redirect($app['url_generator']->generate('categoria_list'));
         }
     }
     return $app['twig']->render('backend/categoria/create.html.twig', array("form" => $form->createView()));
 }