/**
  * @Route("/admin/user/invite")
  * @Method("POST")
  */
 public function inviteUserAction(Request $request)
 {
     $this->denyAccessUnlessGranted('ROLE_ADMIN', null, 'Unable to access this page!');
     $response = new Response();
     $data = $request->request->all();
     $em = $this->getDoctrine()->getManager();
     $checkForExisting = $em->getRepository('AppBundle:Invitation')->findOneByEmail($data['email']);
     if ($checkForExisting !== null) {
         throw new \Exception('invitation.exists');
     }
     $user = $this->get('fos_user.user_manager')->findUserBy(['email' => $data['email']]);
     if ($user !== null) {
         throw new \Exception('user.exists');
     }
     $form = $this->createForm(InvitationType::class, null, []);
     $form->handleRequest($request);
     if ($form->isSubmitted() && $form->isValid()) {
         $invitation = new Invitation();
         $invitation->setEmail($data['email']);
         $invitation->send();
         $em->persist($invitation);
         $em->flush();
         $response->setStatusCode(204);
         return $response;
     }
     return $form;
 }