$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) {
+ if (false === $values['value']) {
+ return;
+ }
+
+ $expression = $filterQuery->getExpr()->isNotNull($field);
+
+ return $filterQuery->createCondition($expression);
+ },
+ ));
}
public function getName()
<div class="col s12">
<label>{% trans %}Status{% endtrans %}</label>
</div>
+
+ <div class="input-field col s6">
+ {{ form_widget(form.previewPicture) }}
+ <label for="entry_filter_previewPicture">{% trans %}Has a preview picture{% endtrans %}</label>
+ </div>
+
<div class="input-field col s6">
{{ form_widget(form.isArchived) }}
<label for="entry_filter_isArchived">{% trans %}Archived{% endtrans %}</label>
$crawler = $client->submit($form);
$this->assertCount(2, $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]'));
+ }
}