private function processRequest($request, $form, $publication = null) { $em = $this->container->get('em'); $form->handleRequest($request); if ($form->isValid()) { if (!$publication) { $attributes = $form->getData(); $alias = new Aliases(); $alias->setName($attributes->getDefaultAlias()); $em->persist($alias); $em->flush(); $attributes->setDefaultAlias($alias); $em->persist($attributes); $alias->setPublication($attributes); } $em->flush(); $cacheService = $this->container->get('newscoop.cache'); $cacheService->clearNamespace('publication'); $translator = $this->get('translator'); $this->get('session')->getFlashBag()->add('success', $translator->trans('publications.publication_saved', array(), 'pub')); return new RedirectResponse($this->generateUrl('newscoop_newscoop_publications_index')); } return $form; }