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;
}