]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - src/Wallabag/ImportBundle/Controller/WallabagV2Controller.php
Add a real configuration for CS-Fixer
[github/wallabag/wallabag.git] / src / Wallabag / ImportBundle / Controller / WallabagV2Controller.php
index 2e6225f295ec15146e9cdb1c4dc259fd7b37e0d1..ab26400cfb1e445b2a5310a72df85139f5a44a0e 100644 (file)
@@ -2,59 +2,40 @@
 
 namespace Wallabag\ImportBundle\Controller;
 
-use Symfony\Bundle\FrameworkBundle\Controller\Controller;
 use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
 use Symfony\Component\HttpFoundation\Request;
-use Wallabag\ImportBundle\Form\Type\UploadImportType;
 
-class WallabagV2Controller extends Controller
+class WallabagV2Controller extends WallabagController
 {
     /**
      * @Route("/wallabag-v2", name="import_wallabag_v2")
      */
     public function indexAction(Request $request)
     {
-        $form = $this->createForm(UploadImportType::class);
-        $form->handleRequest($request);
-
-        $wallabag = $this->get('wallabag_import.wallabag_v2.import');
-
-        if ($form->isValid()) {
-            $file = $form->get('file')->getData();
-            $name = $this->getUser()->getId().'.json';
-
-            if (in_array($file->getClientMimeType(), $this->getParameter('wallabag_import.allow_mimetypes')) && $file->move($this->getParameter('wallabag_import.resource_dir'), $name)) {
-                $res = $wallabag
-                    ->setUser($this->getUser())
-                    ->setFilepath($this->getParameter('wallabag_import.resource_dir').'/'.$name)
-                    ->import();
-
-                $message = 'Import failed, please try again.';
-
-                if (true === $res) {
-                    $summary = $wallabag->getSummary();
-                    $message = 'Import summary: '.$summary['imported'].' imported, '.$summary['skipped'].' already saved.';
-
-                    unlink($this->getParameter('wallabag_import.resource_dir').'/'.$name);
-                }
+        return parent::indexAction($request);
+    }
 
-                $this->get('session')->getFlashBag()->add(
-                    'notice',
-                    $message
-                );
+    /**
+     * {@inheritdoc}
+     */
+    protected function getImportService()
+    {
+        $service = $this->get('wallabag_import.wallabag_v2.import');
 
-                return $this->redirect($this->generateUrl('homepage'));
-            } else {
-                $this->get('session')->getFlashBag()->add(
-                    'notice',
-                    'Error while processing import. Please verify your import file.'
-                );
-            }
+        if ($this->get('craue_config')->get('import_with_rabbitmq')) {
+            $service->setProducer($this->get('old_sound_rabbit_mq.import_wallabag_v2_producer'));
+        } elseif ($this->get('craue_config')->get('import_with_redis')) {
+            $service->setProducer($this->get('wallabag_import.producer.redis.wallabag_v2'));
         }
 
-        return $this->render('WallabagImportBundle:WallabagV2:index.html.twig', [
-            'form' => $form->createView(),
-            'import' => $wallabag,
-        ]);
+        return $service;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function getImportTemplate()
+    {
+        return 'WallabagImportBundle:WallabagV2:index.html.twig';
     }
 }