diff options
Diffstat (limited to 'src/Wallabag/CoreBundle/Filter/EntryFilterType.php')
-rw-r--r-- | src/Wallabag/CoreBundle/Filter/EntryFilterType.php | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/Wallabag/CoreBundle/Filter/EntryFilterType.php b/src/Wallabag/CoreBundle/Filter/EntryFilterType.php index 024486e6..f40c1c2d 100644 --- a/src/Wallabag/CoreBundle/Filter/EntryFilterType.php +++ b/src/Wallabag/CoreBundle/Filter/EntryFilterType.php | |||
@@ -6,9 +6,26 @@ use Symfony\Component\Form\AbstractType; | |||
6 | use Symfony\Component\Form\FormBuilderInterface; | 6 | use Symfony\Component\Form\FormBuilderInterface; |
7 | use Symfony\Component\OptionsResolver\OptionsResolver; | 7 | use Symfony\Component\OptionsResolver\OptionsResolver; |
8 | use Lexik\Bundle\FormFilterBundle\Filter\Query\QueryInterface; | 8 | use Lexik\Bundle\FormFilterBundle\Filter\Query\QueryInterface; |
9 | use Doctrine\ORM\EntityRepository; | ||
10 | use Wallabag\CoreBundle\Entity\User; | ||
9 | 11 | ||
10 | class EntryFilterType extends AbstractType | 12 | class EntryFilterType extends AbstractType |
11 | { | 13 | { |
14 | private $user; | ||
15 | private $repository; | ||
16 | |||
17 | /** | ||
18 | * Repository & user are used to get a list of language entries for this user | ||
19 | * | ||
20 | * @param EntityRepository $entryRepository | ||
21 | * @param User $user | ||
22 | */ | ||
23 | public function __construct(EntityRepository $entryRepository, User $user) | ||
24 | { | ||
25 | $this->repository = $entryRepository; | ||
26 | $this->user = $user; | ||
27 | } | ||
28 | |||
12 | public function buildForm(FormBuilderInterface $builder, array $options) | 29 | public function buildForm(FormBuilderInterface $builder, array $options) |
13 | { | 30 | { |
14 | $builder | 31 | $builder |
@@ -53,7 +70,11 @@ class EntryFilterType extends AbstractType | |||
53 | 70 | ||
54 | return $filterQuery->createCondition($expression); | 71 | return $filterQuery->createCondition($expression); |
55 | }, | 72 | }, |
56 | )); | 73 | )) |
74 | ->add('language', 'filter_choice', array( | ||
75 | 'choices' => $this->repository->findDistinctLanguageByUser($this->user->getId()), | ||
76 | )) | ||
77 | ; | ||
57 | } | 78 | } |
58 | 79 | ||
59 | public function getName() | 80 | public function getName() |