Código:
EL FORMULARIO namespace scge\scgeBundle\Form\Usuarios; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilder; use scge\scgeBundle\Validator\Constraints\DNI; class IngresosType extends AbstractType { public function buildForm(FormBuilder $builder, array $options) { $builder->add('numero', 'text', array('label' => 'Numero')); $builder->add('RUT'); $builder->add('plancta_id', 'entity', array('label' => 'Plan Cuenta', 'class' => 'scgeBundle:PlanCta', 'property' => 'nombre', 'required' => 'true', 'query_builder' => function (\Doctrine\ORM\EntityRepository $repository) { return $repository->createQueryBuilder('p') ->where('p.codigo like :codigo') ->setParameter('codigo', '1%'); } ) ); $builder->add('tipodoc', 'entity', array('label' => 'Tipo Documento', 'class' => 'scgeBundle:TipoDoc', 'property' => 'descripcion', 'required' => 'true', 'query_builder' => function (\Doctrine\ORM\EntityRepository $repository) { return $repository->createQueryBuilder('td') ->where('td.tipo like :tipo') ->setParameter('tipo', 'ingreso') ; } ) ); $builder->add('nombre','text', array('label' => 'Nombre ')); $builder->add('rut', 'text', array('label' => 'Rut ')); $builder->add('fecha'); $builder->add('glosapago','textarea'); $builder->add('monto', 'text'); } public function getDefaultOptions(array $options) { return array( 'data_class' => 'scge\scgeBundle\Entity\Ingreso', ); } public function getName() { return 'nombre'; } }
Código:
EL CONTROLADOR public function ingresoAction() { $form = $this->get('form.factory')->create(new IngresosType(), array()); $request = $this->get('request'); if ($request->getMethod() == 'POST') { $form->bindRequest($request); if ($form->isValid()) { // Mensaje para notificar al usuario que todo ha salido bien $session = $this->get('request')->getSession(); $session->setFlash('notice', 'Usuario Creado Satisfactoriamente'); $ingasto = new Ingreso(); $ingastos = $form->getData(); //$username = $this->getUser()->getUsername(); $ingasto->setCtacont($ingastos['plancta_id']); $ingasto->setEstado(0); $ingasto->setFecha($ingastos['fecha']); $ingasto->setGlosa($ingastos['glosapago']); $ingasto->setMonto($ingastos['monto']); $ingasto->setNombre($ingastos['nombre']); $ingasto->setNula(0); $ingasto->setNumero($ingastos['numero']); $ingasto->setRUT($ingastos['rut']); $ingasto->setTipodoc($ingastos['tipodoc']); $ingasto->setUsuario($username); // Guardamos el objeto en base de datos $em = $this->get('doctrine')->getEntityManager(); $em->persist($ingasto); $em->flush($ingasto); return $this->render('scgeBundle:Usuario:ingreso.html.twig', array('form' => $form->createView())); } } return $this->render('scgeBundle:Usuario:ingreso.html.twig', array('form' => $form->createView())); }
Código:
LA VISTA {% extends "scgeBundle::layout.html.twig" %} {% block title %}Ingreso de Donaciones{% endblock %} {% block metadesc %}Donaciones{% endblock %} {% block pageid 'ponencias' %} {% block contenido %} {{ app.session.flash('id') }} <h2>Ingreso de Donaciones</h2> {{ form_errors(form) }} <form action="{{ path('ingreso') }}" method="post" {{ form_enctype(form) }}> <div class="grid_6 alpha"> {{form_rest(form)}} </div> <input type="submit" value="Grabar" /> </form> {% endblock %} {% block lateral %} {% endblock %}