19/11/2015, 02:21
|
| | Fecha de Ingreso: noviembre-2015
Mensajes: 20
Antigüedad: 9 años, 1 mes Puntos: 1 | |
Respuesta: recogiendo datos de un submit en un formulario. public function registerEmpresaP1Action() {
$request = $this->getRequest();
$usuario = new Usuario();
$usuario->setEsEmpresa(true);
$form = $this->createForm(new RegistrationFormEmpresaP1Type('........\Entity\Usu ario'), $usuario);
if ($request->getMethod() == 'POST') {
$par = $request->request->all();
$id_pobla = $par['mi_empresa_registration_P1']['poblacion'];
$em = $this->getDoctrine()->getManager();
$poblacion = $em->getRepository('.........:Poblaciones')->find($id_pobla);
$par['mi_empresa_registration_P1']['poblacion'] = $poblacion;
$request->request->replace($par);
$form->bind($request);
if ($form->isValid()) {
$em->persist($usuario);
$em->flush();
$this->get('session')->set('id_usuario', $usuario->getId());
$request->setMethod("GET");
return $this->registerEmpresaP2Action();
}
}
return $this->render('.........:MainFooter.html.twig', array('form' => $form->createView(), 'Pantalla1' => true));
}
public function registerEmpresaP2Action() {
$request = $this->getRequest();
$defaultData = array('message' => 'Formulario de tipos de trabajo');
$form = $this->createFormBuilder($defaultData)->getForm();
$form->add('hdnIdsSeleccionados', 'hidden', array(
'constraints' => array(new NotBlank())));
if ($request->getMethod() == 'POST') {
$form->bind($request);
if ($form->isValid()) {
$id_usuario = $this->get('session')->get('id_usuario');
$em = $this->getDoctrine()->getManager();
$usuario = $em->getRepository('..........:Usuario')->find($id_usuario);
$data = $form->getData();
$ids_tipos = $data['hdnIdsSeleccionados'];
$ids_tipos_arr = explode(",", $ids_tipos);
foreach ($ids_tipos_arr as $id_tipo){
$tipoNivel3 = $em->getRepository('..........:TrabajosTiposNivel3')->find($id_tipo);
$usuario->addTrabajosTiposNivel3($tipoNivel3);
}
$em->persist($usuario);
$em->flush();
$request->setMethod("GET");
return $this->registerEmpresaP3Action();
}
}
$em = $this->getDoctrine()->getManager();
$trabajosTiposN1 = $em->getRepository('.........:TrabajosTiposNivel1')->findAll(array('nombre' => 'ASC'));
return $this->render('...........:MainFooter.html.twig', array('form' => $form->createView(), 'trabajosTiposN1' => $trabajosTiposN1));
}
Estas son las 2 funciones del controlador,se trata de dos formularios,cuando uno esta completo y valido,guardamos y llamamos al siguiente.
Gracias. |