+ $existingEntry = $this->checkIfEntryAlreadyExists($entry);
+
+ if (false !== $existingEntry) {
+ $this->get('session')->getFlashBag()->add(
+ 'notice',
+ $this->get('translator')->trans('flashes.entry.notice.entry_already_saved', ['%date%' => $existingEntry->getCreatedAt()->format('d-m-Y')])
+ );
+
+ return $this->redirect($this->generateUrl('view', ['id' => $existingEntry->getId()]));
+ }
+
+ $message = 'flashes.entry.notice.entry_saved';
+ if (false === $this->updateEntry($entry)) {
+ $message = 'flashes.entry.notice.entry_saved_failed';
+ }
+
+ $this->get('session')->getFlashBag()->add('notice', $message);
+
+ return $this->redirect($this->generateUrl('homepage'));
+ }
+
+ return $this->render('WallabagCoreBundle:Entry:new_form.html.twig', [
+ 'form' => $form->createView(),
+ ]);
+ }
+
+ /**
+ * @param Request $request
+ *
+ * @Route("/bookmarklet", name="bookmarklet")
+ *
+ * @return \Symfony\Component\HttpFoundation\Response
+ */
+ public function addEntryViaBookmarkletAction(Request $request)
+ {
+ $entry = new Entry($this->getUser());
+ $entry->setUrl($request->get('url'));
+
+ if (false === $this->checkIfEntryAlreadyExists($entry)) {
+ $this->updateEntry($entry);
+ }
+
+ return $this->redirect($this->generateUrl('homepage'));
+ }