public function addPostAction(Request $request) { $post = new Post(); $post->setDate(new \DateTime('now')); $post->setAuthor($this->getUser()); $form = $this->createForm(PostType::class, $post); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $file = $post->getImage(); if ($file) { $fileName = md5(uniqid()) . '.' . $file->guessExtension(); $imagesDir = $this->container->getParameter('kernel.root_dir') . '/../web/public/post-images'; $file->move($imagesDir, $fileName); $post->setImage($fileName); } else { $post->setImage('default.jpg'); } $em = $this->getDoctrine()->getManager(); $em->persist($post); $em->flush(); $this->addFlash('notice', 'Twój post został dodany!'); return $this->redirectToRoute('blog_showpost', array('id' => $post->getId())); } else { return $this->render('BlogBundle:Dashboard:addPost.html.twig', array('post' => $post, 'form' => $form->createView())); } }