src/Cpm/JovenesBundle/Controller/PerfilController.php
/**
    * Edits an existing Proyecto entity.
    *
    * @Route("/{id}/update", name="proyecto_update_wizzard")
    * @Method("post")
    * @Template("CpmJovenesBundle:Proyecto:wizzard.html.twig")
    */
Edits an existing Proyecto entity.
Edits an existing Proyecto entity .
public function updateAction($id)
    {
    	$em = $this->getDoctrine()->getEntityManager();
    	$entity = $this->getEntityForUpdate('CpmJovenesBundle:Proyecto', $id, $em);
    	$colabs = array(); foreach ($entity->getColaboradores() as $c) {
    		$colabs[] = $c->getEmail();
    	}
    	$entity->setCoordinador($this->getJYM()->getLoggedInUser());
    	$editForm   = $this->createForm(new ProyectoType(), $entity);
    	$editForm->remove('coordinador');
    	$request = $this->getRequest();
    	$editForm->bindRequest($request);
    	$entity->setColaboradores($this->procesar_colaboradores($entity->getColaboradores()));
    	if ($editForm->isValid()) {
    		$em->persist($entity);
    		$em->flush();
    		$this->eliminar_usuarios_sueltos($entity,$colabs);
    		$this->setSuccessMessage("Los datos fueron actualizados satisfactoriamente");
    		return $this->redirect($this->generateUrl('home_usuario'));
    	}else{
    		$this->setErrorMessage("Se produjeron errores al procesar los datos");
    	}    	
    	return array(
                'entity'      => $entity,
    			'coordinador' => $this->getJYM()->getLoggedInUser(),
                'form'   => $editForm->createView(),
				'form_action' => 'proyecto_update_wizzard'
    	);
    }
public function updateAction ( $ id ) { $ em = $ this -> getDoctrine ( ) -> getEntityManager ( ) ; $ entity = $ this -> getEntityForUpdate ( 'CpmJovenesBundle:Proyecto' , $ id , $ em ) ; $ colabs = array ( ) ; foreach ( $ entity -> getColaboradores ( ) as $ c ) { $ colabs [ ] = $ c -> getEmail ( ) ; } $ entity -> setCoordinador ( $ this -> getJYM ( ) -> getLoggedInUser ( ) ) ; $ editForm = $ this -> createForm ( new ProyectoType ( ) , $ entity ) ; $ editForm -> remove ( 'coordinador' ) ; $ request = $ this -> getRequest ( ) ; $ editForm -> bindRequest ( $ request ) ; $ entity -> setColaboradores ( $ this -> procesar_colaboradores ( $ entity -> getColaboradores ( ) ) ) ; if ( $ editForm -> isValid ( ) ) { $ em -> persist ( $ entity ) ; $ em -> flush ( ) ; $ this -> eliminar_usuarios_sueltos ( $ entity , $ colabs ) ; $ this -> setSuccessMessage ( " Los datos fueron actualizados satisfactoriamente " ) ; return $ this -> redirect ( $ this -> generateUrl ( 'home_usuario' ) ) ; } else { $ this -> setErrorMessage ( " Se produjeron errores al procesar los datos " ) ; } return array ( 'entity' => $ entity , 'coordinador' => $ this -> getJYM ( ) -> getLoggedInUser ( ) , 'form' => $ editForm -> createView ( ) , 'form_action' => 'proyecto_update_wizzard' ) ; }
Edits an existing Proyecto entity.
Edits an existing Proyecto entity .
//los colaboradores eliminados que no estan en otro proyecto seran eliminados