From a3bcd60a378946a68e67a3b609d7ef126b014ee6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Sat, 12 Sep 2015 17:08:12 +0200 Subject: filter for entries with previewPicture --- src/Wallabag/CoreBundle/Filter/EntryFilterType.php | 11 +++++++++-- .../Resources/views/themes/material/Entry/entries.html.twig | 6 ++++++ 2 files changed, 15 insertions(+), 2 deletions(-) (limited to 'src/Wallabag/CoreBundle') diff --git a/src/Wallabag/CoreBundle/Filter/EntryFilterType.php b/src/Wallabag/CoreBundle/Filter/EntryFilterType.php index 85d1a061..c0b89196 100644 --- a/src/Wallabag/CoreBundle/Filter/EntryFilterType.php +++ b/src/Wallabag/CoreBundle/Filter/EntryFilterType.php @@ -39,10 +39,17 @@ class EntryFilterType extends AbstractType $expression = $filterQuery->getExpr()->like($field, $filterQuery->getExpr()->literal('%'.$value.'%')); return $filterQuery->createCondition($expression); - }, + }, )) ->add('isArchived', 'filter_checkbox') - ->add('isStarred', 'filter_checkbox'); + ->add('isStarred', 'filter_checkbox') + ->add('previewPicture', 'filter_checkbox', array( + 'apply_filter' => function (QueryInterface $filterQuery, $field, $values) { + $expression = $filterQuery->getExpr()->isNotNull($field); + + return $filterQuery->createCondition($expression); + }, + )); } public function getName() diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig index 3711f6e5..9a2442a0 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Entry/entries.html.twig @@ -71,6 +71,12 @@
+ +
+ {{ form_widget(form.previewPicture) }} + +
+
{{ form_widget(form.isArchived) }} -- cgit v1.2.3 From 616f9fea26af9d9c9dd6134388811c120f1e9656 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Sun, 13 Sep 2015 08:43:15 +0200 Subject: forgot case for previewPicture filter --- src/Wallabag/CoreBundle/Filter/EntryFilterType.php | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/Wallabag/CoreBundle') diff --git a/src/Wallabag/CoreBundle/Filter/EntryFilterType.php b/src/Wallabag/CoreBundle/Filter/EntryFilterType.php index c0b89196..11c69abd 100644 --- a/src/Wallabag/CoreBundle/Filter/EntryFilterType.php +++ b/src/Wallabag/CoreBundle/Filter/EntryFilterType.php @@ -45,6 +45,12 @@ class EntryFilterType extends AbstractType ->add('isStarred', 'filter_checkbox') ->add('previewPicture', 'filter_checkbox', array( 'apply_filter' => function (QueryInterface $filterQuery, $field, $values) { + $value = $values['value']; + + if (false === $value) { + return; + } + $expression = $filterQuery->getExpr()->isNotNull($field); return $filterQuery->createCondition($expression); -- cgit v1.2.3 From 497e0cad7ca2d2e771c8d41f7bc50ab2bc222cdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Sun, 13 Sep 2015 09:57:35 +0200 Subject: add test for previewPicture filter --- src/Wallabag/CoreBundle/Filter/EntryFilterType.php | 4 +--- .../CoreBundle/Tests/Controller/EntryControllerTest.php | 13 +++++++++++++ 2 files changed, 14 insertions(+), 3 deletions(-) (limited to 'src/Wallabag/CoreBundle') diff --git a/src/Wallabag/CoreBundle/Filter/EntryFilterType.php b/src/Wallabag/CoreBundle/Filter/EntryFilterType.php index 11c69abd..de95eed9 100644 --- a/src/Wallabag/CoreBundle/Filter/EntryFilterType.php +++ b/src/Wallabag/CoreBundle/Filter/EntryFilterType.php @@ -45,9 +45,7 @@ class EntryFilterType extends AbstractType ->add('isStarred', 'filter_checkbox') ->add('previewPicture', 'filter_checkbox', array( 'apply_filter' => function (QueryInterface $filterQuery, $field, $values) { - $value = $values['value']; - - if (false === $value) { + if (false === $values['value']) { return; } diff --git a/src/Wallabag/CoreBundle/Tests/Controller/EntryControllerTest.php b/src/Wallabag/CoreBundle/Tests/Controller/EntryControllerTest.php index a0966285..5798009c 100644 --- a/src/Wallabag/CoreBundle/Tests/Controller/EntryControllerTest.php +++ b/src/Wallabag/CoreBundle/Tests/Controller/EntryControllerTest.php @@ -369,4 +369,17 @@ class EntryControllerTest extends WallabagCoreTestCase $crawler = $client->submit($form); $this->assertCount(1, $crawler->filter('div[class=entry]')); } + + public function testPreviewPictureFilter() + { + $this->logInAs('admin'); + $client = $this->getClient(); + + $crawler = $client->request('GET', '/unread/list'); + $form = $crawler->filter('button[id=submit-filter]')->form(); + $form['entry_filter[previewPicture]']->tick(); + + $crawler = $client->submit($form); + $this->assertCount(1, $crawler->filter('div[class=entry]')); + } } -- cgit v1.2.3