Example #1
0
 /**
  * @Route("/app/manage/{clientId}/remove", name="devs_panel_remove_app")
  * @Template()
  */
 public function removeAppAction(Request $request, OauthClient $client)
 {
     if (!$this->getUserLayer()->isUser()) {
         return $this->createAccessDeniedResponse();
     }
     if ($client->getUser()->getId() != $this->getUser()->getId()) {
         throw new AccessDeniedHttpException();
     }
     /** @var EntityManager $em */
     $em = $this->getDoctrine()->getManager();
     $form = $this->createFormBuilder()->add('client_id', 'text', ['required' => true, 'label' => 'Par sécurité, vous devez entrer le Client ID de cette application pour pouvoir la supprimer :', 'constraints' => new EqualTo(['value' => (string) $client->getClientId(), 'message' => 'Ce Client ID n\'est pas correct'])])->getForm();
     if ($request->getMethod() == 'POST' && $form->submit($request)->isValid()) {
         $em->remove($client);
         $em->flush();
         $this->get('session')->getFlashBag()->set('message', array('type' => 'success', 'message' => 'L\' application ' . $client->getName() . ' a bien été supprimée'));
         return $this->redirect($this->generateUrl('devs_panel_index'));
     }
     /** @var OauthClient[] $clients */
     $clients = $em->getRepository('EtuCoreApiBundle:OauthClient')->findBy(['user' => $this->getUser()]);
     return ['client' => $client, 'clients' => $clients, 'form' => $form->createView()];
 }