- 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)
use Nelmio\ApiDocBundle\Annotation\ApiDoc;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
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;
use Wallabag\CoreBundle\Entity\Entry;
use Wallabag\CoreBundle\Entity\Tag;
$pagerfantaFactory = new PagerfantaFactory('page', 'perPage');
$paginatedCollection = $pagerfantaFactory->createRepresentation(
$pager,
$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');
);
$json = $this->get('serializer')->serialize($paginatedCollection, 'json');
throw new \InvalidArgumentException(sprintf('Type "%s" is not implemented.', $type));
}
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
if ($request->query->has($form->getName())) {
// manually bind values from the request
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
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
{
class EntryFilterType extends AbstractType
{
* Repository & user are used to get a list of language entries for this user.
*
* @param EntityRepository $entryRepository
* Repository & user are used to get a list of language entries for this user.
*
* @param EntityRepository $entryRepository
+ * @param TokenStorage $token
- public function __construct(EntityRepository $entryRepository, User $user)
+ public function __construct(EntityRepository $entryRepository, TokenStorage $token)
{
$this->repository = $entryRepository;
{
$this->repository = $entryRepository;
+ $this->user = $token->getToken()->getUser();
}
public function buildForm(FormBuilderInterface $builder, array $options)
}
public function buildForm(FormBuilderInterface $builder, array $options)
)
->add('domainName', TextFilterType::class, array(
'apply_filter' => function (QueryInterface $filterQuery, $field, $values) {
)
->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)
},
))
->add('isArchived', CheckboxFilterType::class)
public function getParent()
{
public function getParent()
{
- return 'fos_user_registration';
+ return 'FOS\UserBundle\Form\Type\RegistrationFormType';
}
public function configureOptions(OptionsResolver $resolver)
}
public function configureOptions(OptionsResolver $resolver)
tags:
- { name: form.type }
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:
wallabag_core.param_converter.username_rsstoken_converter:
class: Wallabag\CoreBundle\ParamConverter\UsernameRssTokenConverter
tags:
namespace Wallabag\ImportBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
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
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
class PocketController extends Controller
public function authAction()
{
$requestToken = $this->get('wallabag_import.pocket.import')
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(
$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),
*/
public function indexAction(Request $request)
{
*/
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');
$form->handleRequest($request);
$wallabag = $this->get('wallabag_import.wallabag_v1.import');
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
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
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';
}
{
return 'upload_import_file';
}