public function updateAction($id) { $em = $this->dataProvider->getEntityManager(); $entity = $em->getRepository('LW\\Model\\Entity\\Group')->find($id); if (!$entity) { throw new \Exception('Unable to find Group entity.'); } $formProvider = new FormProvider(); $editForm = $formProvider->getGroupEditForm(); $editForm->writeFromRequest($this->request); $editForm->writeToEntity($entity); $this->response->prepareForJson(); $returnedValue = $this->createReturnedArray('update'); if ($editForm->isValid()) { $manager = new Manager($em, $this->router); $branch = $manager->buildGroupTree($id); $branch->setIsActive($entity->getIsActive()); $branch->setName($entity->getName()); $em->flush($branch->prepareForSaveInStore($em)); $returnedValue['view'] = json_encode($manager->prepareGroupTreeForJson($branch)[0]); } else { $returnedValue['status'] = 'failed'; $returnedValue['view'] = $this->viewer->render('user_manager::group::edit.html.twig', array('entity' => $entity, 'edit_form' => $editForm)); } return $this->acceptSolutionFlushToResponse(json_encode($returnedValue)); }