diff options
author | Nicolas LÅ“uillet <nicolas@loeuillet.org> | 2016-03-28 09:42:13 +0200 |
---|---|---|
committer | Nicolas LÅ“uillet <nicolas@loeuillet.org> | 2016-03-28 09:42:13 +0200 |
commit | ba2157b270095757eb5af8062df72ce16c497637 (patch) | |
tree | 47f16f84e30fe2c04bccac56d7421f53a99591ce /src/Wallabag/CoreBundle/Controller | |
parent | cc8c2d315f6868201ff32cc4895844c800624a87 (diff) | |
parent | 2baca964f38e658f60c8b9f81a9db289ba85bd0d (diff) | |
download | wallabag-ba2157b270095757eb5af8062df72ce16c497637.tar.gz wallabag-ba2157b270095757eb5af8062df72ce16c497637.tar.zst wallabag-ba2157b270095757eb5af8062df72ce16c497637.zip |
Merge pull request #1805 from wallabag/v2-assign-comma-tags
Fix #1768 Split tags with commas from UI
Diffstat (limited to 'src/Wallabag/CoreBundle/Controller')
-rw-r--r-- | src/Wallabag/CoreBundle/Controller/TagController.php | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/src/Wallabag/CoreBundle/Controller/TagController.php b/src/Wallabag/CoreBundle/Controller/TagController.php index 56e5195c..1a1f8c3d 100644 --- a/src/Wallabag/CoreBundle/Controller/TagController.php +++ b/src/Wallabag/CoreBundle/Controller/TagController.php | |||
@@ -20,25 +20,17 @@ class TagController extends Controller | |||
20 | */ | 20 | */ |
21 | public function addTagFormAction(Request $request, Entry $entry) | 21 | public function addTagFormAction(Request $request, Entry $entry) |
22 | { | 22 | { |
23 | $tag = new Tag(); | 23 | $form = $this->createForm(NewTagType::class, new Tag()); |
24 | $form = $this->createForm(NewTagType::class, $tag); | ||
25 | $form->handleRequest($request); | 24 | $form->handleRequest($request); |
26 | 25 | ||
27 | if ($form->isValid()) { | 26 | if ($form->isValid()) { |
28 | $existingTag = $this->getDoctrine() | 27 | $this->get('wallabag_core.content_proxy')->assignTagsToEntry( |
29 | ->getRepository('WallabagCoreBundle:Tag') | 28 | $entry, |
30 | ->findOneByLabel($tag->getLabel()); | 29 | $form->get('label')->getData() |
30 | ); | ||
31 | 31 | ||
32 | $em = $this->getDoctrine()->getManager(); | 32 | $em = $this->getDoctrine()->getManager(); |
33 | 33 | $em->persist($entry); | |
34 | if (is_null($existingTag)) { | ||
35 | $entry->addTag($tag); | ||
36 | $em->persist($tag); | ||
37 | } elseif (!$existingTag->hasEntry($entry)) { | ||
38 | $entry->addTag($existingTag); | ||
39 | $em->persist($existingTag); | ||
40 | } | ||
41 | |||
42 | $em->flush(); | 34 | $em->flush(); |
43 | 35 | ||
44 | $this->get('session')->getFlashBag()->add( | 36 | $this->get('session')->getFlashBag()->add( |