src/AppBundle/Controller/Astillero/ServicioController.php
/**
     * Displays a form to edit an existing servicio entity.
     *
     * @Route("/{id}/editar", name="astillero_servicio_edit")
     * @Method({"GET", "POST"})
     */
Displays a form to edit an existing servicio entity.
Displays a form to edit an existing servicio entity .
public function editAction(Request $request, Servicio $servicio)
    {
        $em = $this->getDoctrine()->getManager();
        $grupoProductoOriginal = new ArrayCollection();
        foreach ($servicio->getGruposProductos() as $grupo){
            $grupoProductoOriginal->add($grupo);
        }
        $deleteForm = $this->createDeleteForm($servicio);
        $editForm = $this->createForm('AppBundle\Form\Astillero\ServicioType', $servicio);
        $editForm->handleRequest($request);
        if ($editForm->isSubmitted() && $editForm->isValid()) {
            foreach ($grupoProductoOriginal as $grupo){
                if(false === $servicio->getGruposProductos()->contains($grupo)){
                    $servicio->removeGruposProducto($grupo);
                    $em->persist($grupo);
                    $em->remove($grupo);
                }
            }
            $em->persist($servicio);
            $em->flush();
            return $this->redirectToRoute('astillero_servicio_show',['id' => $servicio->getId()]);
        }
        return $this->render('astillero/servicio/edit.html.twig', array(
            'servicio' => $servicio,
            'edit_form' => $editForm->createView(),
            'delete_form' => $deleteForm->createView(),
            'title' => 'Astillero Editar Servicio'
        ));
    }
public function editAction ( Request $ request , Servicio $ servicio ) { $ em = $ this -> getDoctrine ( ) -> getManager ( ) ; $ grupoProductoOriginal = new ArrayCollection ( ) ; foreach ( $ servicio -> getGruposProductos ( ) as $ grupo ) { $ grupoProductoOriginal -> add ( $ grupo ) ; } $ deleteForm = $ this -> createDeleteForm ( $ servicio ) ; $ editForm = $ this -> createForm ( 'AppBundle\Form\Astillero\ServicioType' , $ servicio ) ; $ editForm -> handleRequest ( $ request ) ; if ( $ editForm -> isSubmitted ( ) && $ editForm -> isValid ( ) ) { foreach ( $ grupoProductoOriginal as $ grupo ) { if ( false === $ servicio -> getGruposProductos ( ) -> contains ( $ grupo ) ) { $ servicio -> removeGruposProducto ( $ grupo ) ; $ em -> persist ( $ grupo ) ; $ em -> remove ( $ grupo ) ; } } $ em -> persist ( $ servicio ) ; $ em -> flush ( ) ; return $ this -> redirectToRoute ( 'astillero_servicio_show' , [ 'id' => $ servicio -> getId ( ) ] ) ; } return $ this -> render ( 'astillero/servicio/edit.html.twig' , array ( 'servicio' => $ servicio , 'edit_form' => $ editForm -> createView ( ) , 'delete_form' => $ deleteForm -> createView ( ) , 'title' => 'Astillero Editar Servicio' ) ) ; }
Displays a form to edit an existing servicio entity.
Displays a form to edit an existing servicio entity .