]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
Fix recent update
authorJeremy Benoist <jeremy.benoist@gmail.com>
Sat, 9 Jan 2016 17:38:40 +0000 (18:38 +0100)
committerJeremy Benoist <jeremy.benoist@gmail.com>
Fri, 15 Jan 2016 08:35:38 +0000 (09:35 +0100)
- some missing url parameters from WallabagRestController & EntryController
- use a service for `EntryFilterType` to use fully qualified name instead (so changing class signature)
- update ImportBundle (url & form)

src/Wallabag/ApiBundle/Controller/WallabagRestController.php
src/Wallabag/CoreBundle/Controller/EntryController.php
src/Wallabag/CoreBundle/Filter/EntryFilterType.php
src/Wallabag/CoreBundle/Form/Type/UserInformationType.php
src/Wallabag/CoreBundle/Resources/config/services.yml
src/Wallabag/ImportBundle/Controller/PocketController.php
src/Wallabag/ImportBundle/Controller/WallabagV1Controller.php
src/Wallabag/ImportBundle/Form/Type/UploadImportType.php

index f8a2745a47dce2696fa562f526166ffc34d54982..d9035cac716440bc2d08111db6053a51c45e1070 100644 (file)
@@ -8,6 +8,7 @@ use Hateoas\Representation\Factory\PagerfantaFactory;
 use Nelmio\ApiDocBundle\Annotation\ApiDoc;
 use Symfony\Component\HttpFoundation\Request;
 use Symfony\Component\HttpFoundation\Response;
+use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
 use Wallabag\CoreBundle\Entity\Entry;
 use Wallabag\CoreBundle\Entity\Tag;
 
@@ -84,7 +85,7 @@ class WallabagRestController extends FOSRestController
         $pagerfantaFactory = new PagerfantaFactory('page', 'perPage');
         $paginatedCollection = $pagerfantaFactory->createRepresentation(
             $pager,
-            new Route('api_get_entries', [], $absolute = true)
+            new Route('api_get_entries', [], UrlGeneratorInterface::ABSOLUTE_URL)
         );
 
         $json = $this->get('serializer')->serialize($paginatedCollection, 'json');
index 83e5b57da3f36301e85de2c4f2c096b4c4d68a29..dda0a45610b78ff0199c00c929fb3aad60d6e42a 100644 (file)
@@ -234,7 +234,7 @@ class EntryController extends Controller
                 throw new \InvalidArgumentException(sprintf('Type "%s" is not implemented.', $type));
         }
 
-        $form = $this->createForm(new EntryFilterType($repository, $this->getUser()));
+        $form = $this->createForm(EntryFilterType::class);
 
         if ($request->query->has($form->getName())) {
             // manually bind values from the request
index 4430c971a67e4046ccff0fe0fd72fb89e2efbb12..c38be8320fb3de10748891175891329ad8b03363 100644 (file)
@@ -12,7 +12,7 @@ use Lexik\Bundle\FormFilterBundle\Filter\Form\Type\ChoiceFilterType;
 use Symfony\Component\Form\AbstractType;
 use Symfony\Component\Form\FormBuilderInterface;
 use Symfony\Component\OptionsResolver\OptionsResolver;
-use Wallabag\UserBundle\Entity\User;
+use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage;
 
 class EntryFilterType extends AbstractType
 {
@@ -23,12 +23,12 @@ class EntryFilterType extends AbstractType
      * Repository & user are used to get a list of language entries for this user.
      *
      * @param EntityRepository $entryRepository
-     * @param User             $user
+     * @param TokenStorage     $token
      */
-    public function __construct(EntityRepository $entryRepository, User $user)
+    public function __construct(EntityRepository $entryRepository, TokenStorage $token)
     {
         $this->repository = $entryRepository;
-        $this->user = $user;
+        $this->user = $token->getToken()->getUser();
     }
 
     public function buildForm(FormBuilderInterface $builder, array $options)
@@ -54,13 +54,13 @@ class EntryFilterType extends AbstractType
             )
             ->add('domainName', TextFilterType::class, array(
                 'apply_filter' => function (QueryInterface $filterQuery, $field, $values) {
-                        $value = $values['value'];
-                        if (strlen($value) <= 2 || empty($value)) {
-                            return;
-                        }
-                        $expression = $filterQuery->getExpr()->like($field, $filterQuery->getExpr()->literal('%'.$value.'%'));
+                    $value = $values['value'];
+                    if (strlen($value) <= 2 || empty($value)) {
+                        return;
+                    }
+                    $expression = $filterQuery->getExpr()->like($field, $filterQuery->getExpr()->literal('%'.$value.'%'));
 
-                        return $filterQuery->createCondition($expression);
+                    return $filterQuery->createCondition($expression);
                 },
             ))
             ->add('isArchived', CheckboxFilterType::class)
index f52e409aced6acdf0b5d07520f97fdc354c9f353..f491b0ae3c16cd2dd8aa023565f1a2b52a98c9cb 100644 (file)
@@ -26,7 +26,7 @@ class UserInformationType extends AbstractType
 
     public function getParent()
     {
-        return 'fos_user_registration';
+        return 'FOS\UserBundle\Form\Type\RegistrationFormType';
     }
 
     public function configureOptions(OptionsResolver $resolver)
index e8dafc5d3d4eec1be4a39befd0c54a37cbc86a8d..436007359fc68440745aa36fb9c7ca10fa2bbb26 100644 (file)
@@ -14,6 +14,14 @@ services:
         tags:
             - { name: form.type }
 
+    wallabag_core.filter.type.entry:
+        class: Wallabag\CoreBundle\Filter\EntryFilterType
+        arguments:
+            - "@wallabag_core.entry_repository"
+            - "@security.token_storage"
+        tags:
+            - { name: form.type }
+
     wallabag_core.param_converter.username_rsstoken_converter:
         class: Wallabag\CoreBundle\ParamConverter\UsernameRssTokenConverter
         tags:
index a085338312bb253d7ff870326cabb1806ac5c686..72dc2696a1967eaa2b61244224e77ad814121a8a 100644 (file)
@@ -3,6 +3,7 @@
 namespace Wallabag\ImportBundle\Controller;
 
 use Symfony\Bundle\FrameworkBundle\Controller\Controller;
+use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
 use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
 
 class PocketController extends Controller
@@ -23,12 +24,12 @@ class PocketController extends Controller
     public function authAction()
     {
         $requestToken = $this->get('wallabag_import.pocket.import')
-            ->getRequestToken($this->generateUrl('import', [], true));
+            ->getRequestToken($this->generateUrl('import', UrlGeneratorInterface::ABSOLUTE_URL));
 
         $this->get('session')->set('import.pocket.code', $requestToken);
 
         return $this->redirect(
-            'https://getpocket.com/auth/authorize?request_token='.$requestToken.'&redirect_uri='.$this->generateUrl('import_pocket_callback', [], true),
+            'https://getpocket.com/auth/authorize?request_token='.$requestToken.'&redirect_uri='.$this->generateUrl('import_pocket_callback', UrlGeneratorInterface::ABSOLUTE_URL),
             301
         );
     }
index e50a6c35a8f3bd6b25896a1a05efe1d0e44500d8..35fe620f8adaf83cbbb37e0953bbb34a2d83eafe 100644 (file)
@@ -14,7 +14,7 @@ class WallabagV1Controller extends Controller
      */
     public function indexAction(Request $request)
     {
-        $form = $this->createForm(new UploadImportType());
+        $form = $this->createForm(UploadImportType::class);
         $form->handleRequest($request);
 
         $wallabag = $this->get('wallabag_import.wallabag_v1.import');
index 415890f3472f2f48c8fb4b99ce6deb247d274612..2e6b59cb4ae9d65e7731d4e4bd852616e0e70e44 100644 (file)
@@ -4,18 +4,20 @@ namespace Wallabag\ImportBundle\Form\Type;
 
 use Symfony\Component\Form\AbstractType;
 use Symfony\Component\Form\FormBuilderInterface;
+use Symfony\Component\Form\Extension\Core\Type\SubmitType;
+use Symfony\Component\Form\Extension\Core\Type\FileType;
 
 class UploadImportType extends AbstractType
 {
     public function buildForm(FormBuilderInterface $builder, array $options)
     {
         $builder
-            ->add('file', 'file')
-            ->add('save', 'submit')
+            ->add('file', FileType::class)
+            ->add('save', SubmitType::class)
         ;
     }
 
-    public function getName()
+    public function getBlockPrefix()
     {
         return 'upload_import_file';
     }