Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/11/2015, 02:21
polaries
 
Fecha de Ingreso: noviembre-2015
Mensajes: 20
Antigüedad: 8 años, 5 meses
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.