/**
  * @param Request $request
  * @throws AccessDeniedException
  * @return array
  *
  * @Route("/evolution-games/submit", name="eg_submit")
  * @Template
  */
 public function submitAction(Request $request)
 {
     return $this->redirectRoute('eg_scholarship');
     /** @var User $user */
     $user = $this->getUser();
     if ($user === null || !$user->hasRole('ROLE_USER')) {
         $this->flash('error', 'You must be registered and logged in to submit a game.');
         throw new AccessDeniedException();
     }
     $game = $this->repo('EGGame')->findOneBy(['user' => $user->getId()]);
     if ($game) {
         return $this->redirectRoute('eg_manage');
     }
     // studio name, studio profile, game synopsis, game name, screenshot, avatar, upload game, terms checkbox
     $fb = $this->createFormBuilder();
     $fb->add('studioName', 'text', ['label' => 'Studio Name', 'constraints' => [new NotBlank()]])->add('studioProfile', 'textarea', ['label' => 'Studio Profile', 'constraints' => [new NotBlank()]])->add('gameSynopsis', 'textarea', ['label' => 'Game Synopsis', 'constraints' => [new NotBlank()]])->add('gameName', 'text', ['label' => 'Game Name', 'constraints' => [new NotBlank()]])->add('gameGenre', 'entity', ['class' => 'GotChosenSiteBundle:EGGameGenre', 'property' => 'name'])->add('accept', 'checkbox', ['label' => 'I Accept the Rules', 'widget_checkbox_label' => 'label', 'error_type' => 'block', 'constraints' => [new NotBlank()]]);
     $form = $fb->getForm();
     $form->handleRequest($request);
     if ($form->isValid()) {
         /**
          * Todo:
          *
          * 1. Can't use existing game names?
          * 2. Can't use existing studio names?
          */
         $game = new EGGame();
         $game->setUser($user);
         $game->setStudioName($form->get('studioName')->getData());
         $game->setStudioProfile($form->get('studioProfile')->getData());
         $game->setGameSynopsis($form->get('gameSynopsis')->getData());
         $game->setGameName($form->get('gameName')->getData());
         $game->setGenre($form->get('gameGenre')->getData());
         $this->em()->persist($game);
         $this->em()->flush();
         $this->flash('success', "Your game was submitted successfully.");
         return $this->redirectRoute('eg_manage');
     }
     return ['form' => $form->createView()];
 }