src/Controller/CrudController.php
public function editAction(Request $request, $id)
    {
        $configuration = $this->getConfiguration($request);
        $dispatcher = $configuration->getEventDispatcher();
        $om = $this->getObjectManager();

        if (!$configuration->getFormType()) {
            throw new \RuntimeException('You must set the formType on the CRUD configuration');
        }

        $object = $this->findObject($request, $id);
        $form = $this->createForm($configuration->getFormType(), $object, $configuration->getFormOptions());

        $event = new PreSubmitEvent($configuration, $request, $object, $form);
        $dispatcher->dispatch(CrudEvents::PRE_SUBMIT, $event);

        if ($event->hasResponse()) {
            return $event->getResponse();
        }

        $form->handleRequest($request);

        if ($form->isSubmitted()) {
            if ($form->isValid()) {
                $om->persist($object);

                $event = new PreFlushEvent($configuration, $request, $object);
                $dispatcher->dispatch(CrudEvents::PRE_FLUSH, $event);

                if ($event->hasResponse()) {
                    return $event->getResponse();
                }

                $event = new PostFlushEvent($configuration, $request, $object);

                try {
                    $om->flush();
                    $this->addFlash('success', sprintf('flash.%s.edit.success', $configuration->getName()));
                } catch (\Exception $e) {
                    $event->setException($e);
                    $this->addFlash('error', sprintf('flash.%s.edit.error', $configuration->getName()));
                }

                $dispatcher->dispatch(CrudEvents::POST_FLUSH, $event);

                if ($event->hasResponse()) {
                    return $event->getResponse();
                }

                return $this->redirectToRoute(
                    $configuration->getRoutePrefix() . 'index',
                    $configuration->getRouteParameters()
                );
            } else {
                $event = new ValidationFailedEvent($configuration, $request, $object, $form);
                $dispatcher->dispatch(CrudEvents::VALIDATION_FAILED, $event);

                if ($event->hasResponse()) {
                    return $response;
                }
            }
        }

        return $this->render($this->getTemplate($request, 'edit'), array_merge([
            'base_template' => $this->getTemplate($request, 'base'),
            'config' => $configuration,
            'form'   => $form->createView(),
            'object' => $object,
        ], $configuration->getTemplateVariables()));
    }
public function editAction(Request $request, $id)
    {
        $configuration = $this->getConfiguration($request);
        $dispatcher = $configuration->getEventDispatcher();
        $om = $this->getObjectManager();

        if (!$configuration->getFormType()) {
            throw new \RuntimeException('You must set the formType on the CRUD configuration');
        }

        $object = $this->findObject($request, $id);
        $form = $this->createForm($configuration->getFormType(), $object, $configuration->getFormOptions());

        $event = new PreSubmitEvent($configuration, $request, $object, $form);
        $dispatcher->dispatch(CrudEvents::PRE_SUBMIT, $event);

        if ($event->hasResponse()) {
            return $event->getResponse();
        }

        $form->handleRequest($request);

        if ($form->isSubmitted()) {
            if ($form->isValid()) {
                $om->persist($object);

                $event = new PreFlushEvent($configuration, $request, $object);
                $dispatcher->dispatch(CrudEvents::PRE_FLUSH, $event);

                if ($event->hasResponse()) {
                    return $event->getResponse();
                }

                $event = new PostFlushEvent($configuration, $request, $object);

                try {
                    $om->flush();
                    $this->addFlash('success', sprintf('flash.%s.edit.success', $configuration->getName()));
                } catch (\Exception $e) {
                    $event->setException($e);
                    $this->addFlash('error', sprintf('flash.%s.edit.error', $configuration->getName()));
                }

                $dispatcher->dispatch(CrudEvents::POST_FLUSH, $event);

                if ($event->hasResponse()) {
                    return $event->getResponse();
                }

                return $this->redirectToRoute(
                    $configuration->getRoutePrefix() . 'index',
                    $configuration->getRouteParameters()
                );
            } else {
                $event = new ValidationFailedEvent($configuration, $request, $object, $form);
                $dispatcher->dispatch(CrudEvents::VALIDATION_FAILED, $event);

                if ($event->hasResponse()) {
                    return $response;
                }
            }
        }

        return $this->render($this->getTemplate($request, 'edit'), array_merge([
            'base_template' => $this->getTemplate($request, 'base'),
            'config' => $configuration,
            'form'   => $form->createView(),
            'object' => $object,
        ], $configuration->getTemplateVariables()));
    }
public function editAction ( Request $ request , $ id ) { $ configuration = $ this -> getConfiguration ( $ request ) ; $ dispatcher = $ configuration -> getEventDispatcher ( ) ; $ om = $ this -> getObjectManager ( ) ; if ( ! $ configuration -> getFormType ( ) ) { throw new \ RuntimeException ( 'You must set the formType on the CRUD configuration' ) ; } $ object = $ this -> findObject ( $ request , $ id ) ; $ form = $ this -> createForm ( $ configuration -> getFormType ( ) , $ object , $ configuration -> getFormOptions ( ) ) ; $ event = new PreSubmitEvent ( $ configuration , $ request , $ object , $ form ) ; $ dispatcher -> dispatch ( CrudEvents :: PRE_SUBMIT , $ event ) ; if ( $ event -> hasResponse ( ) ) { return $ event -> getResponse ( ) ; } $ form -> handleRequest ( $ request ) ; if ( $ form -> isSubmitted ( ) ) { if ( $ form -> isValid ( ) ) { $ om -> persist ( $ object ) ; $ event = new PreFlushEvent ( $ configuration , $ request , $ object ) ; $ dispatcher -> dispatch ( CrudEvents :: PRE_FLUSH , $ event ) ; if ( $ event -> hasResponse ( ) ) { return $ event -> getResponse ( ) ; } $ event = new PostFlushEvent ( $ configuration , $ request , $ object ) ; try { $ om -> flush ( ) ; $ this -> addFlash ( 'success' , sprintf ( 'flash.%s.edit.success' , $ configuration -> getName ( ) ) ) ; } catch ( \ Exception $ e ) { $ event -> setException ( $ e ) ; $ this -> addFlash ( 'error' , sprintf ( 'flash.%s.edit.error' , $ configuration -> getName ( ) ) ) ; } $ dispatcher -> dispatch ( CrudEvents :: POST_FLUSH , $ event ) ; if ( $ event -> hasResponse ( ) ) { return $ event -> getResponse ( ) ; } return $ this -> redirectToRoute ( $ configuration -> getRoutePrefix ( ) . 'index' , $ configuration -> getRouteParameters ( ) ) ; } else { $ event = new ValidationFailedEvent ( $ configuration , $ request , $ object , $ form ) ; $ dispatcher -> dispatch ( CrudEvents :: VALIDATION_FAILED , $ event ) ; if ( $ event -> hasResponse ( ) ) { return $ response ; } } } return $ this -> render ( $ this -> getTemplate ( $ request , 'edit' ) , array_merge ( [ 'base_template' => $ this -> getTemplate ( $ request , 'base' ) , 'config' => $ configuration , 'form' => $ form -> createView ( ) , 'object' => $ object , ] , $ configuration -> getTemplateVariables ( ) ) ) ; }
Edit an object

@Route("/edit/{id}")
@param Request $request
@param $id
@return RedirectResponse|Response
Edit an object