/** * @Route("/app/create", name="devs_panel_create_app") * @Template() */ public function createAppAction(Request $request) { if (!$this->getUserLayer()->isUser()) { return $this->createAccessDeniedResponse(); } /** @var EntityManager $em */ $em = $this->getDoctrine()->getManager(); $client = new OauthClient(); $client->setUser($this->getUser()); $defaultScopes = $em->getRepository('EtuCoreApiBundle:OauthScope')->findBy(['isDefault' => true]); foreach ($defaultScopes as $defaultScope) { $client->addScope($defaultScope); } $form = $this->createForm($this->get('etu.api.form.client'), $client); if ($request->getMethod() == 'POST' && $form->submit($request)->isValid()) { $client->generateClientId(); $client->generateClientSecret(); $em->persist($client); $em->flush(); $client->upload(); $this->get('session')->getFlashBag()->set('message', array('type' => 'success', 'message' => 'Votre application a bien été crée')); return $this->redirect($this->generateUrl('devs_panel_index')); } return ['form' => $form->createView()]; }