diff options
Diffstat (limited to 'src/Wallabag/CoreBundle/Controller')
-rw-r--r-- | src/Wallabag/CoreBundle/Controller/TagController.php | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/Wallabag/CoreBundle/Controller/TagController.php b/src/Wallabag/CoreBundle/Controller/TagController.php index ff4d64a8..7b34939d 100644 --- a/src/Wallabag/CoreBundle/Controller/TagController.php +++ b/src/Wallabag/CoreBundle/Controller/TagController.php | |||
@@ -56,6 +56,26 @@ class TagController extends Controller | |||
56 | } | 56 | } |
57 | 57 | ||
58 | /** | 58 | /** |
59 | * Removes tag from entry. | ||
60 | * | ||
61 | * @Route("/remove-tag/{entry}/{tag}", requirements={"entry" = "\d+", "tag" = "\d+"}, name="remove_tag") | ||
62 | * | ||
63 | * @return \Symfony\Component\HttpFoundation\Response | ||
64 | */ | ||
65 | public function removeTagFromEntry(Request $request, Entry $entry, Tag $tag) | ||
66 | { | ||
67 | $entry->removeTag($tag); | ||
68 | $em = $this->getDoctrine()->getManager(); | ||
69 | $em->flush(); | ||
70 | if (count($tag->getEntries()) == 0) { | ||
71 | $em->remove($tag); | ||
72 | } | ||
73 | $em->flush(); | ||
74 | |||
75 | return $this->redirect($request->headers->get('referer')); | ||
76 | } | ||
77 | |||
78 | /** | ||
59 | * Shows tags for current user. | 79 | * Shows tags for current user. |
60 | * | 80 | * |
61 | * @Route("/tag/list", name="tag") | 81 | * @Route("/tag/list", name="tag") |