public function deleteAction($id) { $formProvider = new FormProvider(); $url = $this->router->getUrlByRoute('admin_user_delete', array('id' => $id), false); $form = $formProvider->getUserDeleteForm($url); $form->writeFromRequest($this->request); $returnedValue = $this->createReturnedArray('delete'); if ($form->isValid()) { $em = $this->dataProvider->getEntityManager(); $entity = $em->getRepository('LW\\Model\\Entity\\User')->find($id); if (!$entity) { throw new \Exception('Unable to find User entity.'); } $em->remove($entity); $em->flush(); } else { $returnedValue['status'] = 'failed'; } $this->response->prepareForJson(); return $this->acceptSolutionFlushToResponse(json_encode($returnedValue)); }
public function updateUsersListAction($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(); $url = $this->router->getUrlByRoute('admin_group_update_users_list', array('id' => $id), false); $form = $formProvider->getGroupUsersListForm($url); $form->writeFromRequest($this->request); $this->response->prepareForJson(); $returnedValue = $this->createReturnedArray('update_users_list'); $manager = new Manager($em, $this->router); if ($form->isValid()) { $users = json_decode($form->getField('users')->getValue()); $manager->addUsersToGroup($id, $users); $branch = $manager->buildGroupTree($id); $returnedValue['view'] = json_encode($manager->prepareGroupTreeForJson($branch)[0]); } else { $entityMoved = $manager->getGroup($form->get('movedId')->getData()); $returnedValue['status'] = 'failed'; $returnedValue['view'] = sprintf('Редактирование списка подльзователей для группы <b>%s</b> не было сохранено', $entityMoved->getName()); } return $this->acceptSolutionFlushToResponse(json_encode($returnedValue)); }